Pythonでディレクトリにファイル(ディレクトリではない)をリストする方法はありますか?私はos.listdir
とos.path.isfile()
のループを使用することができると知っていますが、もっと簡単なもの(関数os.path.listfilesindir
など)があれば、それはおそらく良いでしょう。ディレクトリ内のファイルのみを一覧表示しますか?
答えて
これはa simple generator expression次のとおりです。
files = (file for file in os.listdir(path)
if os.path.isfile(os.path.join(path, file)))
for file in files: # You could shorten this to one line, but it runs on a bit.
...
それとも、それはあなたがより適している場合、あなたはジェネレータ関数を作ることができる:
def files(path):
for file in os.listdir(path):
if os.path.isfile(os.path.join(path, file)):
yield file
そして、単に:
for file in files(path):
...
なぜ私はこれにdownvoteを取得しましたか? –
dirnameとファイル名の間にjoinを追加するのを忘れた – ayvango
@ayvangoこれはちょうど異なる動作です。質問に完全なパスを指定する必要はなく、これは明確な方法でそのまま動作します。 –
あなたがpathlibを試みることができます、他の便利なものもたくさんあります。
Pathlibは、ファイルシステムのパスと対話するためのオブジェクト指向ライブラリです。現在のディレクトリ内のファイルを取得するには、一つは行うことができます。os.path
を使用するよりも
from pathlib import *
files = (x for x in Path(".") if x.is_file())
for file in files:
print(str(file), "is a file!")
これは、私の意見では、よりPython的。
も参照してください。PEP 428。次のようにWindowsでpathlibを使用して
一般的なアドバイスの1つは、そのような種類のインポートを避けることです。つまり、使用するものを単にインポートするだけです。これは、あなたのケースでは 'from pathlib import Path'です。 – Tshepang
'pathlib'は素晴らしいですが、私はそれが手元のスクリプトに依存していると主張しています。もし' pathlib'が過度であるかもしれないので、ファイルを数回しか扱わなければならないでしょう。 –
:
files = (x for x in Path("your_path") if x.is_file())
はエラーを生成します
TypeError: 'WindowsPath' object is not iterable
あなたはむしろpathlib
、最短の道トンを使用してPath.iterdir()
filePath = Path("your_path")
if filePath.is_dir():
files = list(x for x in filePath.iterdir() if x.is_file())
files = next(os.walk('..'))[2]
を使用する必要がありますoリストのみのファイルは次のとおりです。
[x for x in Path("your_path").iterdir() if x.is_file()]
(必要な場合)
- 1. FAT:ディレクトリ内のすべてのファイルを一覧表示する
- 2. ディレクトリ内のすべてのファイルを一覧表示するPython
- 3. PHPがディレクトリ内のファイルを一覧表示するために
- 4. Dropbox - ディレクトリ内のファイルを一覧表示する方法
- 5. ディレクトリ内のファイルを一覧表示する方法
- 6. ファイル内の画像ファイルのみを一覧表示する
- 7. ディレクトリ内のファイルを一覧表示してC/C++で削除します
- 8. ディレクトリ内のすべてのサブディレクトリからのリンクとしてPHPでファイルを一覧表示する(ファイルのみ)
- 9. linuxのディレクトリ構造とディレクトリ内のファイルのmd5を一覧表示する
- 10. パッケージのインストール済みファイルを一覧表示しますか?
- 11. テーブル内のファイルの一覧を表示
- 12. OpenShiftのファイル/ディレクトリを一覧表示/閲覧3
- 13. ディレクトリ内のすべてのフォルダを一覧表示し、
- 14. htmlを使用してディレクトリ内のファイルを一覧表示する
- 15. cURLを使用してディレクトリ内のファイルを一覧表示する
- 16. ディレクトリの内容を一覧表示するスクリプトを作成しますか?
- 17. 選択した内部ディレクトリのファイルを一覧表示する方法
- 18. ディレクトリ内のすべてのフォルダを一覧表示する(PHP)
- 19. ディレクトリ内のすべてのフォルダを一覧表示
- 20. ディレクトリ内のすべてのサブディレクトリとファイルを一覧表示する
- 21. バッチファイル:ディレクトリ内のすべてのファイルを相対パスで一覧表示する
- 22. ディレクトリ内のすべてのファイルを一覧表示する方法Silverlight
- 23. ごみ箱にファイルを一覧表示
- 24. マックOS:ディレクトリのファイルを一覧表示し、私は、ディレクトリのすべてのファイルを一覧表示し、それらのサイズを取得する必要がサイズ
- 25. 特定のファイルタイプとディレクトリのファイルを一覧表示する
- 26. ディレクトリのみを一覧表示するFTPコマンド。不可能?
- 27. AWS S3のディレクトリ内のファイルをpyspark/pythonで一覧表示する
- 28. ファイルの一覧を表示
- 29. Qt:ディレクトリ内のファイルエイリアスを一覧表示する
- 30. React Native - ディレクトリ内のファイルを動的に一覧表示する/要求する
[関連](http://stackoverflow.com/q/6664205) – Tshepang