ホームページ バックエンド開発 Python チュートリアル Python3. フォルダーを走査して特定のファイル名を抽出する例

Python3. フォルダーを走査して特定のファイル名を抽出する例

Apr 27, 2018 am 10:49 AM
フォルダ 特定

以下は、Python 3 でフォルダーを走査して特定のファイル名を抽出する例です。これは非常に参考になり、皆さんの役に立つことを願っています。一緒に見てみましょう

ファイルをバッチで処理する場合、多くの場合、特定の条件下でファイル名を抽出するために特定のパスをたどる必要があります。この記事は、非常に簡潔ですが、非常に暴力的な方法を書いています。

例の目的は次のとおりです: リモートセンシングデータが保存されているフォルダーの下にある、名前が「_BAD」で終わるフォルダーの内容を取得します。このファイルは階層(年/月/品種/)が多く、対象フォルダも多く、しかも最終階層に存在するため、手動で確認するのは非常に面倒です。

コードは次のとおりです (知識ポイントを要約した後):

# -*- coding: utf-8 -*-
"""
遍历某路径下所有文件夹,获得特定文件夹下所有文件
很暴力,真的遍历了所有的文件夹
20180124
@author: 墨大宝
"""
import os
TARGETPATH = r'F:\MODIS_DATA'
records = []
for currentDir, _, includedFiles in os.walk(TARGETPATH):
 if not currentDir.endswith('_BAD'): continue
 else:
  records.append(currentDir) # 将以“_BAD”结尾的文件夹名加入records
  records.extend(includedFiles) # 将该文件夹内的文件名列表扩展到records
# 将records写入.txt
txtFile = open(os.path.join(TARGETPATH, '02_04_BAD.txt'), 'w')
txtFile.write(os.linesep.join(records))
txtFile.close()
# 将排序后的records写入.txt
with open(os.path.join(TARGETPATH, '02_04_BAD_SORTED.txt'), 'w') as txtFile:
 txtFile.write('\n'.join(sorted(records)))
ログイン後にコピー

os.walk() は、ディレクトリ ツリー ジェネレーターを返します。 (dirpath, dirnames, filenames) 形式のタプルが生成されるたびに、要素はカレントパス、カレントパス配下のフォルダリスト、カレントパス配下のファイル名リストとなります。

List の .append()、.extend()、および .sort() メソッドはすべてその場で変更されますが、sorted() 関数は変更されません。

リストを .txt ファイルに書き込むときは、リストを str に変換する必要があります。str() 関数を直接使用して変換を強制すると、リストの各要素を接続するのに改行を使用した方が見栄えが良くなります。

os.path はシステムの改行文字を表します。Windows では「rn」、他のシステムでは「n」です。ただし、os.path を使用してリスト要素を接続し、最終的に Windows メモ帳で開いた場合、改行は同じになります。ただし、vs code で開くと、os.path が変更されます。これは、Python の書き込みメカニズムに関連している可能性があるため、当面は掘り下げません。 )。

ファイルの読み取りと書き込みに関しては、ほとんどの情報が with as 形式を推奨していますが、これは確かにより簡潔です。

追記:

os.walk() は、ディレクトリツリーに従って指定されたパス内のすべてのフォルダーとファイルを実際に走査するため、暴力的であると言われていますが、ファイルの量は多いですが、ファイル名は異なります。再帰関数を作成するのに os.listdir() を使用すると、実行効率が高くなる可能性がありますが、ロジックは遅くなります。の os.walk() はシンプルで書きやすいので、気軽にやってみました。

関連する推奨事項: 空ではないフォルダーを削除する Python インスタンス

指定されたディレクトリにファイルをコピーする Python

プログラム実行ファイルのパスを取得する Python メソッド

以上がPython3. フォルダーを走査して特定のファイル名を抽出する例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Windows 11でフォルダーのサイズを表示するにはどうすればよいですか? Windows 11でフォルダーのサイズを表示するにはどうすればよいですか? Sep 23, 2023 pm 06:13 PM

Windows 11でフォルダーのサイズを表示するにはどうすればよいですか?

Win11の背景画像はどこに保存されていますか? Win11の背景画像はどこに保存されていますか? Dec 27, 2023 am 11:59 AM

Win11の背景画像はどこに保存されていますか?

Windows 11/10でファイルを別のフォルダーに自動的にコピーする方法 Windows 11/10でファイルを別のフォルダーに自動的にコピーする方法 Feb 19, 2024 am 11:24 AM

Windows 11/10でファイルを別のフォルダーに自動的にコピーする方法

win10テーマフォルダーの場所を詳しく知る方法 win10テーマフォルダーの場所を詳しく知る方法 Dec 27, 2023 pm 09:37 PM

win10テーマフォルダーの場所を詳しく知る方法

win11のパソコンフォルダにパスワードを設定する方法 win11のパソコンフォルダにパスワードを設定する方法 Jan 12, 2024 pm 02:27 PM

win11のパソコンフォルダにパスワードを設定する方法

同期したフォルダー内の 1 つ以上のアイテムが Outlook エラーと一致しません 同期したフォルダー内の 1 つ以上のアイテムが Outlook エラーと一致しません Mar 18, 2024 am 09:46 AM

同期したフォルダー内の 1 つ以上のアイテムが Outlook エラーと一致しません

デフォルトのフォルダー パスを見つけて、win11 の壁紙の詳細を共有する デフォルトのフォルダー パスを見つけて、win11 の壁紙の詳細を共有する Jan 30, 2024 pm 03:15 PM

デフォルトのフォルダー パスを見つけて、win11 の壁紙の詳細を共有する

win10フォルダーにパスワード保護を設定する方法 win10フォルダーにパスワード保護を設定する方法 Feb 29, 2024 am 09:00 AM

win10フォルダーにパスワード保護を設定する方法

See all articles