在 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)
我想查找文件夹中所有同名文件的扩展名。因此,例如,如果一个目录包含 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)