文章内容
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)
评论列表