2016-05-16 10 views
1

私はPythonで新たなんだと私は(ファイルのみが含まれている)ディレクトリ内のすべてのファイルを読み込み、スクリプトに取り組んでいます。パイソン - os.listdirの順

files = [f for f in os.listdir("my directory ")] 

問題は、私は完全にランダムでファイルを取得することです:

for file in os.listdir("my directory"): 

またはこの構文を使用してファイルのリスト: 私は、このようなループを使用してファイルを取得することができることを知っています注文。私は私のリストがソート取得するsortコマンドを使用して私の問題を解決し、しかし、私はまだ疑問に残っています:

どのようにPythonはlistdirメソッドによって返されたファイルを並べ替えていますか?

答えて

2

この質問はここで、例えば、SOに対処されている:Pythonはネイティブファイルシステムが使用する順序を返し、あなたが後でそれらを並べ替えるために持っているよう Nonalphanumeric list order from os.listdir() in Python

が見えます。

+0

これは完全にランダムではありません。それは私には意味がありませんでした。メソッドがディスク上のファイルの日付またはその場所を使用してリストを返す場合は、より論理的です。 –

+0

通常、ファイルシステムは新しい構造のデータを格納するために内部構造のエントリを再利用します。ほとんど彼らが返すもの(と 'os.listdir()')は、実際にデバイスに格納されているデータです。 – Piranna