pythonでフォルダ内のファイルの完全な再帰的リストを取得する最も簡単な方法は何ですか?私はos.walk()
について知っていますが、すべてのファイルのフィルタリングされていないリストを取得するだけでは不幸です。それは本当に唯一の選択肢ですか?"find"と同等のものを得る最も簡単な方法。 Pythonで?
答えて
独自の関数を作成してからあなたを防ぐことは何もありません:
import os
def listfiles(folder):
for root, folders, files in os.walk(folder):
for filename in folders + files:
yield os.path.join(root, filename)
あなたはそうのようにそれを使用することができます:
for filename in listfiles('/etc/'):
print filename
こと、または手動でisdir()
/isfile()
とlistdir()
で再帰たり、subprocess.check_output()
を使用してfind .
を呼び出すことができます。 Bascially os.walk()
は最高レベル、若干低いレベルはlistdir()
に基づく半マニュアルソリューションであり、同じ出力をしたい場合はfind .
は何らかの理由であなたに与えます。subprocess
でシステムコールを行うことができます。
1を使用してのPythonからfind
プログラム自体を使用することができます。 –
Blender
import os
path = "path/to/your/dir"
for (path, dirs, files) in os.walk(path):
print files
はこのやり過ぎです、または私は何かが足りないのですか?
あなたは絶対に正しいです。それは実際よりも難しく見えます。 –
os.walk()
はどのような意味でも過度のものではありません。これは、ちょっとの間でファイルやディレクトリのリストを生成できます。
files = [os.path.join(dirpath, filename)
for (dirpath, dirs, files) in os.walk('.')
for filename in (dirs + files)]
あなたは、プロセスを一度にパスし、メモリ上の安全なだけに、発電機にこれを変えることができます。
+1の最もpythonicソリューション:) – kgr
はまた `)(` os.walkためsh
import sh
text_files = sh.find(".", "-iname", "*.txt")
- 1. 最も簡単な方法
- 2. 最も簡単な一連のjavascript/jQueryイベントの最新のものを守る最も簡単な方法
- 3. Pythonで簡単なGUIを開発する最も簡単な方法
- 4. 作成と最も簡単な方法
- 5. インタラクティブなPythonコンソールをポップアップする最も簡単な方法は?
- 6. ウェブサイトのルートドメインを取得する最も簡単な方法
- 7. Javaでデータベースメタデータを取得する最も簡単な方法は?
- 8. Python - 行全体のオブジェクトを取得する最も簡単な方法
- 9. 最も簡単な方法は、垂直
- 10. 最も簡単な方法realloc
- 11. オンライン通知を取得する最も簡単な方法
- 12. C#XMLデータを取得する最も簡単な方法
- 13. pygameで最初のテキスト入力を得る最も簡単な方法
- 14. Python:dictから値のリストを取得する最も簡単な方法は?
- 15. 同様のJenkinsジョブを一括コピーする最も簡単な方法
- 16. サブセットの合計数とカウントを取得する最も簡単な方法は?
- 17. 最も簡単なリバースプロキシ
- 18. NSStringとintを連結する最も簡単な方法
- 19. 最新のコンボボックスのアイテム、最も簡単な方法
- 20. divを使用して2つの等しい高さの列を取得する最も簡単な方法
- 21. ナビゲーションバー以外のビューの高さを取得する最も簡単で簡単な方法は何ですか?
- 22. Pythonでモジュール式の行列反転を行う最も簡単な方法は?
- 23. 簡単な3Dアイオスアプリを作成する最も簡単な方法
- 24. Pythonスクリプトの実行時間を計算する最も簡単な方法は?
- 25. RubyプログラマーがPythonをピックアップする最も簡単な方法は何ですか?
- 26. ストアドプロシージャのユーザを検証する最も簡単な方法は?
- 27. Javaのテキストファイルを暗号化する最も簡単な方法
- 28. アクティビティのインスタンスを切り替える最も簡単な方法
- 29. PHPのルートをマップする最も簡単な方法
- 30. URLをJavaのリクエストハンドラにマップする最も簡単な方法
ありがとう!この関数が標準ライブラリの一部ではないことを確認したかっただけです。 –
私は1つ存在することを望みます。あなたはいつでも 'os.py'を編集できます;) – Blender
素敵な解決策!しかし、「find。」にはディレクトリもリストされています。しかし、修正は非常に簡単です。 :) –