我是一个十足的Python新手
我需要遍历目录查找 .txt 文件,然后分别读取和处理它们。我想对此进行设置,以便脚本所在的任何目录都被视为此操作的根目录。例如,如果脚本在/bsepath/workDir 中,那么它将遍历 workDir 及其子文件中的所有文件。
我目前拥有的是:
#!/usr/bin/env python
import os
scrptPth = os.path.realpath(__file__)
for file in os.listdir(scrptPth)
with open(file) as f:
head,sub,auth = [f.readline().strip() for i in range(3)]
data=f.read()
#data.encode('utf-8')
pth = os.getcwd()
print head,sub,auth,data,pth
这段代码给我一个无效的语法错误,我怀疑这是因为 os.listdir
不喜欢标准字符串格式的文件路径。我也不认为我正在做正确的循环 Action 。如何在循环操作中引用特定文件?是否打包成变量?
需要任何帮助
最佳答案
import os, fnmatch
def findFiles (path, filter):
for root, dirs, files in os.walk(path):
for file in fnmatch.filter(files, filter):
yield os.path.join(root, file)
像这样使用它,它会找到给定路径内某处的所有文本文件(递归):
for textFile in findFiles(r'C:\Users\poke\Documents', '*.txt'):
print(textFile)
关于Python - 需要遍历目录以查找 TXT 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13299731/