の効率を確認しながら、文字列(番号はディレクトリ内のファイルの番号を示す数字にすぎません) でos.walk
ファイルを作成しました。たとえば、ディレクトリ内のファイルの内容は次のようになります。6,00,000
Hello <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()
私が感じた問題は、返される 3 番目の項目がディレクトリ内のファイルのリスト(600000 個の項目がある)a.next()
であるため、時間とメモリがかかりすぎることでした。そのため、ファイル名のリストではなく、タプルの 3 番目の項目としてジェネレーター オブジェクトを返すようにすることで、 (少なくとも)スペースの複雑さを軽減する方法を見つけようとしています。a.next()
a.next()
スペースの複雑さを軽減することは良い考えでしょうか?