Python でファイル システムをトラバースするにはどうすればよいですか?システムに以下のファイル構造を与え、そのすべてのブランチを上から下まで完全に走査したいとします。
os.walk() は Python でどのように動作しますか?
OS.walk() は、ディレクトリ ツリーをトップダウンまたはボトムアップに移動することによって、ディレクトリ ツリー内にファイル名を生成します。ディレクトリのトップをルートとするツリー内の各ディレクトリ (トップ自体を含む) に対して、3 つのタプル (ディレクトリパス、ディレクトリ名、ファイル名) が生成されます。
- 根 : 指定したディレクトリのみを出力します。
- 言う: ルートからサブディレクトリを出力します。
- ファイル: ルートおよびディレクトリからすべてのファイルを出力します。
# Driver function import os if __name__ == "__main__": for (root,dirs,files) in os.walk('.', topdown=True): print (root) print (dirs) print (files) print ('--------------------------------')>
出力:
['gfg-article-deep-crawl-master (1)', '.ipynb_checkpoints'] ['t.pdf', 'Untitled.ipynb'] -------------------------------- ./gfg-article-deep-crawl-master (1) ['gfg-article-deep-crawl-master'] [] -------------------------------- ./gfg-article-deep-crawl-master (1)/gfg-article-deep-crawl-master ['check_rank'] ['rank_scraper.py', 'search-page (copy).html', '.gitignore', 'search-page.html', 'globals.py', 'requirements.txt', 'sel_scraper.py', 'README.md'] -------------------------------- ./gfg-article-deep-crawl-master (1)/gfg-article-deep-crawl-master/check_rank [] ['selenium.py', 'tools.py', '__init__.py', 'run_check.py'] -------------------------------- ./.ipynb_checkpoints [] ['Untitled-checkpoint.ipynb'] -------------------------------->
Os.Walk を使用したネストされたリストの理解
ディレクトリ ツリー内で Python ファイルを検索するプログラム。つまり、拡張子 .py で終わるファイルを検索する必要があります。
パイソン # code import os if __name__ == '__main__': pythonFiles = [file for dirs in os.walk('.', topdown=True) for file in dirs[2] if file.endswith('.py')] print('python files in the directory tree are ') for r in pythonFiles: print(r)>
出力
python files in the directory tree are Solution.py>