查找具有名称模式的文件

2024-10-03 21:33:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要找到一个特定模式名的文件是否在当前目录中可用。为此,我使用了以下代码

H1 = []
for record_name in my_list:
    file_name = 'RSN' + '_' + record_name[0:5] + '*' + record_name[-8:]
    H1 += glob.glob(record_name)

应该注意的是,我使用上述方法是因为在某些情况下,当前目录中可用的记录名称和文件的真实名称之间存在一些差异。例如,我的一个文件的真实名称是“RSN20148\u BB40204628\u KRPHHZ”,而我的\u列表中有“20148\u 40204628\u KRPHHZ”。请注意,第二个没有“RSN”和“BB”术语

上面的步骤是可行的,但问题是它需要很多时间。有什么减少时间的建议吗? 请注意,我不能使用os.listdir()获取所有文件的名称,因为我的\列表中文件的顺序对我很重要


Tags: 文件代码namein名称列表formy
1条回答
网友
1楼 · 发布于 2024-10-03 21:33:56

也许你可以实现一个算法,如果记录名是唯一的,你可以创建一个字典(orderedDict如果Python<;3.6否则默认情况下,dict是有序的,所有记录名都设置为False

然后使用带os.path.exists(path)的线程,根据记录是否存在,将该键设置为TrueFalse。字典是O(1)线程化的可能会提高性能

最后一点-这是所有理论上的问题,您必须实施/优化自己,看看它是否能提高性能增加不必要的开销

干杯

相关问题 更多 >