有没有办法获取 glob 解析的文件的名称?

Is there a way to grab the names of the files that glob parses through?

我正在使用 glob 模块来解析一堆文本文件。这是该代码行:

for file in g.glob('*.TXT'):
    for col in csv.DictReader(open(file,'rU')):

它工作正常,但有没有办法获取它循环访问的文件的名称?我认为这是不可能的,因为它只查找后缀为“.TXT”的任何文件。但我只是想问一下。

glob.glob() returns only a list of matching file names, it's not possible to fetch all the file names considered using just this function. That would be a job for os.listdir().

如果您只想跟踪匹配的文件,可以在迭代之前存储 glob() 的 return 值:

filenames = g.glob('*.TXT')

for filename in filenames:
    for col in csv.DictReader(open(filename,'rU')):
        ...

另请注意,我将名称 file 更改为 filename,因为这样更准确。