在 python 中搜索具有相同文件名的所有文件的最有效方法

Most efficient way for searching all files with the same filename in python

我想查找文件夹中所有同名文件的扩展名。因此,例如,如果一个目录包含 2 个名为 test.csv 和 test.txt 的文件。我希望程序 return 包含“.txt”和“.csv”的列表。

我用过:

glob.glob(file_name + '*') 

当文件夹包含许多文件时,它可以工作但速度很慢(0.03 秒)。在 python 中有更快的方法吗?

您可以使用以文件名作为键、扩展名作为值的字典,如下所示:

import os
data = {}
for file in os.listdir():
    name, ext = file.split('.')
    if name not in data.keys():
        data[name ] = list()

    temp = data[name].copy()
    temp.append(ext)
    data[name] = temp

print(data)

尝试像这样的东西:

import re
import os

files = os.listdir(".")

my_files = re.findall(r"(\w+\.php)", " ".join(files))

print(my_files)