在检查效率的同时os.walk
,我6,00,000
使用字符串创建了文件Hello <number>
(其中 number 只是表示目录中文件编号的数字),例如目录中文件的内容如下所示:-
File Name | Contents
1.txt | Hello 1
2.txt | Hello 2
.
.
600000.txt|Hello 600000
现在,我运行了以下代码:-
a= os.walk(os.path.join(os.getcwd(),'too_many_same_type_files')) ## Here, I am just passing the actual path where those 6,00,000 txt files are present
print a.next()
我觉得的问题是a.next()
需要太多时间和内存,因为a.next()
将返回的第三项是目录中的文件列表(其中有 600000 项)。所以,我试图找出一种方法来降低空间复杂度(至少) ,方法是以某种方式a.next()
返回一个生成器对象作为元组的第三项,而不是文件名列表。
降低空间复杂度是个好主意吗?