使用glob.glob在指定路径下查找多个文件夹中的文件?

0 投票
2 回答
6066 浏览
提问于 2025-04-17 14:49

我正在尝试使用 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))

撰写回答