迭代python中的列表vs文件夹

时间:2018-02-07 17:28:11

标签: python

我有一个包含数百个演出文件的文件夹。我有一个文件列表,我需要从该文件夹中找到。

我的问题是,如果我遍历文件夹中的文件(例如使用glob)或创建所有文件名的列表然后迭代它,它会更快吗?

我最初的假设是创建一个列表自然会比每次迭代文件夹更快,但由于列表中包含数百个项目,我不是100%肯定哪个更有效。

2 个答案:

答案 0 :(得分:0)

包含数百个文件名的列表不应该是性能问题。但是对于像glob这样的函数,你经常可以找到为你传输数据的an iterator form

答案 1 :(得分:0)

您可以使用所需文件名列表。写一个简单的lambda:

if HeroName in [line.strip() for line in open("HeroHolder2.txt", "r+").readlines()]:
    print(HeroName + ", is in database")

然后使用lambda curr_item: curr_item in desired_list 遍历目录。

filter

但是,接下来要对文件做什么?这有点取决于该做什么。