Python如何获得目录下所有文件?OS模块相关函数。
最简单的情况:
列出path目录下的所有文件,以文件名字符串列表形式返回。
allist = os.listdir(path)
如果只想获得文件,过滤掉所有文件夹,可以用isfile函数:
遍历path目录下的所有对象,用join函数获得对象的绝对路径,并用isfile判断对象是否是文件。相应的用isdir可以只留下文件夹。
filelist = [name for name in os.listdir(path) if os.path.isfile(os.path.join(path,name))]
如果只想获得某一类文件,可以用字符串的endswith函数:
遍历path目录下的所有对象,筛选出所有有指定后缀名的文件。
pylist = [name for name in os.listdir(path) if name.endswith('.py')]
会用到的一些os模块中的函数:
os.listdir()
列出某目录下的文件列表。注意,如果有文件夹,只包含该文件夹名,不会包含文件夹下的子目录。
os.path.join()
连接多个路径名组件,生成完整的路径名。可以自动将’/‘补上,但如果传入的路径名组件中有’/'则会被认为是根目录。
os.path.isfile() os.path.isdir()
判断某一对象是否为文件/目录。需要输入绝对路径。
字符串startwith() endwith()
判断字符串是否以指定字符串开头/结尾。可以用来判断文件后缀名。