我有一个包含csv文件的列表,它们都在mydir目录下。我想获取文件名列表,然而使用以下代码却返回了一个空列表。
import glob
mydir = "C:\Data"
file_list = glob(mydir + "*.csv")
print('file_list {}'.format(file_list))
我有一个包含csv文件的列表,它们都在mydir目录下。我想获取文件名列表,然而使用以下代码却返回了一个空列表。
import glob
mydir = "C:\Data"
file_list = glob(mydir + "*.csv")
print('file_list {}'.format(file_list))
看起来你只需要在搜索时包含斜杠以在正确的目录中进行搜索。
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))
fnmatch
: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))
同时,使用正则表达式:
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
是一个模块,你应该像这样使用 glob.glob()
:from glob import glob
mydir = "C:/Data"
file_list = glob(mydir + "/*.csv")
print('file_list {}'.format(file_list))
import glob
mydir = r"C:\Data"
file_list = glob.glob(mydir + r"\*.csv")
print('file_list {}'.format(file_list))
import glob
file_list = glob.glob(r"C:\Data\*.csv")
print('file_list {}'.format(file_list))
glob.glob(mydir + "\*.csv")
- PM 2Ring