版权声明:未经博主允许不得转载。 https://blog.csdn.net/qq_43774897/article/details/88992419
1. os.chdir() 方法
os.chdir() 方法用于改变当前工作目录到指定的路径。chdir()方法语法格式:
os.chdir(path) #path -- 要切换到的新路径。
2. os.getcwd() 方法
os.getcwd() 方法用于返回当前工作目录。getcwd()方法语法格式:
os.getcwd()
3. os.listdir() 方法
os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。这个列表以字母顺序。 它不包括 ‘.’ 和’…’ 即使它在文件夹中,也就是不会返回隐藏文件。listdir()方法语法格式:
os.listdir(path) # path -- 需要列出的目录路径
在一个目录下面只有文件,没有文件夹,这个时候可以使用os.listdir()
在我们的桌面上有一个file目录(文件夹),里面有三个文件
file(dir)|
---|test1.txt
---|test2.txt
---|test3.txt
用下面的程序获得文件的绝对路径:
import os
path = r'C:\Users\Administrator\Desktop\file'
for filename in os.listdir(path):
print(os.path.join(path,filename))
C:\Users\Administrator\Desktop\file\test1.txt
C:\Users\Administrator\Desktop\file\test2.txt
C:\Users\Administrator\Desktop\file\test3.txt
使用os.listdir()读取到一个目录下面所有的文件名,然后使用os.path.join把目录的路径和文件名结合起来,就得到了文件的绝路路径。
4. os.walk() 方法
一个目录下面既有目录(目录下面还可能有目录和文件)也有文件,如何读取里面所有文件呢?这里要使用os.walk()。
os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。它是一个简单易用的文件、目录遍历器,可以帮助我们高效的处理文件、目录方面的事情。
基本语法:
os.walk(top, topdown)
参数:
top -- 是你所要遍历的目录的地址, 返回的是一个三元组(root,dirs,files)
root : 所指的是当前正在遍历的这个文件夹的本身的地址
dirs : 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)
files : 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)
topdown -- 可选,为 True,则优先遍历 top 目录,否则优先遍历 top 的子目录(默认为开启)。
如果 topdown 参数为 True,walk 会遍历top文件夹,与top 文件夹中每一个子目录
我们在桌面上面建立一个file目录,里面的组织结构如下:
file(dir):
--|file1(dir):
---|file1_test1.txt
---|file1_test2.txt
---|file1_test3.csv
--|file2(dir)
---|file2_test1.txt
--|file_test1.txt
--|file_test2.txt
--|file_test3.csv
如何获得这个路径下面所有的文件路径:
import os
path = r'C:\Users\Administrator\Desktop\file'
for dirpath,dirnames,filenames in os.walk(path):
for filename in filenames:
print(os.path.join(dirpath,filename))
C:\Users\Administrator\Desktop\file\file_test1.txt
C:\Users\Administrator\Desktop\file\file_test2 .txt
C:\Users\Administrator\Desktop\file\file_test3 .csv
C:\Users\Administrator\Desktop\file\file1\file1_test1.txt
C:\Users\Administrator\Desktop\file\file1\file1_test2.txt
C:\Users\Administrator\Desktop\file\file1\file1_test3.csv
C:\Users\Administrator\Desktop\file\file2\file2_test1.txt
当然你要也可以获取指定名称的,指定字符开头或结尾的文件。
指定名称:
import os
path = r'C:\Users\Administrator\Desktop\file'
for dirpath,dirnames,filenames in os.walk(path):
for filename in filenames:
if filename == 'file_test3 .csv': # 指定名称
print(os.path.join(dirpath,filename))
字符开头或结尾的文件:
import os
path = r'C:\Users\Administrator\Desktop\file'
for dirpath,dirnames,filenames in os.walk(path):
for filename in filenames:
if filename.endswith('.txt'): # endswith 指定结尾
print(os.path.join(dirpath,filename))
import os
path = r'C:\Users\Administrator\Desktop\file'
for dirpath,dirnames,filenames in os.walk(path):
for filename in filenames:
if filename.startswith('file1'): # startswith 指定结尾
print(os.path.join(dirpath,filename))