文章内容
2022/4/8 19:43:44,作 者: 黄兵
Python 遍历文件以及删除文件
使用 Python 遍历文件,我们使用 os.walk(folder)
这个函数,其中 folder 就是我们需要遍历的文件最顶层。
例如下面有这样的一个文件结构:
base/ ├── fileA.txt ├── fileA2.xls ├── fileA3.xls ├── fileA4.pdf ├── sub1 │ ├── fileB.txt │ ├── fileB2.xls │ └── fileB3.pdf └── sub2 ├── fileB.txt ├── fileC2.xls └── fileC3.pdf
我们可以使用下面的 Python 代码遍历所有文件:
def findAllFile(base): for root, ds, fs in os.walk(base): for f in fs: yield f
例如我们需要获取上面的所有文件:
import os def findAllFile(base): for root, ds, fs in os.walk(base): for f in fs: yield f def main(): base = './base/' for i in findAllFile(base): print(i) if __name__ == '__main__': main()
结果如下:
fileA.txt fileA2.xls fileA3.xls fileA4.pdf fileB3.pdf fileB.txt fileB2.xls fileC.txt fileC3.pdf fileC2.xls
如果我们需要获取完整路径,我们可以使用下面代码:
def findAllFile(base): for root, ds, fs in os.walk(base): for f in fs: fullname = os.path.join(root, f) yield fullname
如果我们需要删除文件,下面是删除文件的一些代码介绍:
import os # path是文件的路径,如果这个路径是一个文件夹,则会抛出OSError的错误,这时需用用rmdir()来删除 os.remove(path) # path是文件夹路径,注意文件夹下面的文件为空才能被删除 os.rmdir(path) # unlink的功能和remove一样是删除一个文件,但是删除一个正在使用的文件会报错。 os.unlink('F:\新建文本文档.txt')
👇面是递归地删除目录。如果子目录成功被删除,则会删除父目录,子目录没成功删除,将抛异常。
import os os.removedirs(path)
评论列表