使用glob.glob在指定路径下查找多个文件夹中的文件?
我正在尝试使用 glob.glob 来遍历用户提供的路径,然后找到所有后续的文件夹里面的 .txt 文件。目前,我写的代码如下,但似乎没有效果。
fileName = raw_input("> ")
listOfTxt = []
for files in glob.glob(os.path.join(fileName, "\\Folder\\*\\*\\*.txt")):
listOfTxt.append(files) # add it to the list
我不太确定该怎么让这个代码正常工作,或者我只是没有理解 glob.glob 和 os.path 的用法。
2 个回答
0
你把给定的名字和一个路径连接在一起,这样做有点奇怪,可能不是你想要的结果。你可能想要的是类似下面这样的东西:
glob.glob(os.path.join("\\Folder\\*\\*\\",fileName+".txt"))
?
2
如果你只是想要获取一个在 os.path.join(user_dir,'Folder')
这个文件夹里所有 .txt
文件的列表,那么使用 os.walk
可能是更好的选择:
import os
user_dir = os.path.join(raw_input('> '),'Folder')
file_list = [ ]
for dirpath,_,filenames in os.path.walk(user_dir):
for name in filenames:
if name.endswith('.txt'):
file_list.append(os.path.join(user_dir,dirpath,name))