os.listdir() での英数字の順序の問題
Python で os.listdir() を使用してディレクトリを操作する場合、ユーザーは予期しない問題に直面する可能性がありますサブディレクトリの順序をリストします。かつては英数字であったデフォルトの順序は、現在では一貫性がなく、無意味に見えます。この記事では、これらのリストの表示順序を決定する要因を調査します。
問題:
run01 から run20 という名前のサブディレクトリを含むディレクトリ内で、os.listdir(os.getcwd ()) は次のような順序でリストを返します。
['run01', 'run18', 'run14', 'run13', 'run12', 'run11', 'run08', ...]
解決策:
os.listdir() で取得したリストの順序は操作できます。ソート済み()を使用します。リストを英数字順に並べ替えるには、
sorted(os.listdir(whatever_directory))
を使用します。または、リスト自体の .sort() メソッドを使用します:
lst = os.listdir(whatever_directory) lst.sort()
注: os.listdir() によって返されるファイル名の順序は、基礎となるファイルシステムによって決定され、システムによって異なる場合があります。
以上が`os.listdir()` によって返されるファイルの順序が一貫していないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。