我正在尝试使用python在设置为变量的文件夹中列出具有特定结尾('.txt')的文件。
我试图使用glob.glob('userFolder / *。txt')来做到这一点。
import os
import glob
userFolder='/homes/myFolder'
glob.glob('userFolder/*.txt')
我有一个空名单。
答案 0 :(得分:2)
您的userFolder
调用中的文本glob()
只是字符串值的一部分,它与具有相同名称的变量无关。如果是这样,则永远不能在字符串中直接使用诸如print
或os
之类的名称或任何其他变量名称。
您可以只使用+
将变量值与glob模式连接起来:
text_files = glob.glob(userFolder + '/*.txt')
但是更好的方法是使用os.path.join()
处理路径构造:
files = glob.glob(os.path.join(userFolder, '*.txt'))
另一种选择是使用[pathlib
模块],它具有自己的glob支持:
import pathlib
userFolder = pathlib.Path('/homes/myFolder')
text_files = userFolder.glob('*.txt')