import glob
mydir = "C:\Data"
file_list = glob.glob(mydir + "/*.csv") # Include slash or it will search in the wrong directory!!
print('file_list {}'.format(file_list))
import os
from fnmatch import fnmatch
mydir = "C:/Data"
file_list = [file for file in os.listdir(mydir) if fnmatch(file, '*.csv')]
print('file_list {}'.format(file_list))
另外,使用RegEx:
import os
import re
mydir = "C:/Data"
file_list = [file for file in os.listdir(mydir) if re.search('.*\.png', file)]
print('file_list {}'.format(file_list))
文件名和目录之间缺少反斜杠。但是不能用一个反斜杠结束字符串,因为它会认为您在试图转义结束引号。你可以把它放在打给glob的电话里。(注意,您需要将两个字符串都设为原始字符串,如果目录以“n”或“t”开头(在本例中被解释为空格字符),则这是一个很好的做法。)
另外,您可能希望尝试使用pylint检查常见错误或警告。它会对未屏蔽的目录名发出警告。
更新:
事实上,我只是把它简化为:
看起来您只需要包含斜杠就可以在正确的目录中进行搜索。
尝试^{} :
另外,使用RegEx:
顺便说一下,^{} 是一个模块,您应该像这样使用^{} :
相关问题 更多 >
编程相关推荐