ホームページ バックエンド開発 Python チュートリアル Pythonでファイルをトラバースする3つの方法

Pythonでファイルをトラバースする3つの方法

Jun 16, 2016 am 08:42 AM
python

今日は、ファイル トラバーサルを使用して、Windows でファイル名をバッチ変更する Python スクリプトを作成しました。 Python を使用したファイル トラバーサルには多くの方法があり、ここではそれらをリストして説明します。

os.path.walk()

これは伝統的な使用法です。

walk(root,callable,args) メソッドには 3 つのパラメータがあります: トラバースするディレクトリ、コールバック関数、およびコールバック関数のパラメータ (タプル形式)。

呼び出しプロセスは、ディレクトリ内のファイルまたはディレクトリを走査し、ディレクトリを走査するたびにコールバック関数が呼び出され、引数がパラメータとしてコールバック関数に渡されます。

コールバック関数には定義時に 3 つのパラメータもあります。たとえば、この例の func の 3 つのパラメータは、walk で渡されるパラメータ、ディレクトリへのパス、ディレクトリ内のファイル リスト (ファイルのみ) です。フルパスではなく名前)。例を参照:

コードをコピー コードは次のとおりです:

OS をインポート
s = os.sep #unix または win によると、s は or/
root = "d:" + s + "ll" + s #走査するディレクトリ

def func(args,dire,fis): #コールバック関数の定義
fis の f の場合:
fname = os.path.splitext(f) #ファイル名を名前と拡張子のタプルに分割します
new = fname[0] + 'b' + fname[1] #名前を変更
os.rename(os.path.join(dire,f),os.path.join(dire,new)) #Rename

os.path.walk(root,func,()) #Traverse

このメソッドを使用すると、次のレベルを再帰的に移動できないという問題があります (これについてはまだよくわかりません。修正してください)。

Python の上級バージョンには os.walk() が追加されており、これよりも使いやすくなっています。

os.walk()

プロトタイプは次のとおりです: os.walk(top, topdown=True, onerror=None, followlinks=False)

通常は最初のパラメータのみを使用します。 (トップダウンは走査の順序を指定します)
このメソッドは、ディレクトリごとに 3 つの要素 (ディレクトリパス、ディレクトリ名、ファイル名) を返します。 1 つ目はパス、2 つ目はパスの下のディレクトリ、3 つ目はパスの下のディレクトリ以外 (Windows の場合はファイル) です。例を参照:

コードをコピー コードは次のとおりです:

OS をインポート
s = os.sep
root = "d:" + s + "ll" + s

os.walk(root) 内の rt、dirs、ファイルの場合:
ファイル内の f の場合:
fname = os.path.splitext(f)
新しい = fname[0] + 'b' + fname[1]
os.rename(os.path.join(rt,f),os.path.join(rt,new))

このメソッドはすべてのファイルを再帰的に走査できます。

リストディレクトリ

os モジュールでいくつかのメソッドを使用して、組み合わせたり走査したりできます。例を参照:

コードをコピー コードは次のとおりです:

OS をインポート
s = os.sep
root = "d:" + s + "ll" + s

os.listdir(root) の i:
os.path.isfile(os.path.join(root,i))の場合:
プリント i

ここで、i は完全なパスではなくディレクトリまたはファイル名であることに注意してください。これを使用する場合は、os.path.join() メソッドと組み合わせて完全なパスを復元する必要があります。

走査が完了したら、高度な処理のために正規表現を使用してファイル名を変更できます。

さらに、os.system (cmd) を使用して、シェル内で関連するコマンドを呼び出してファイルを処理することもできます。これは非常に優れており強力です。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

2時間のPython計画:現実的なアプローチ 2時間のPython計画:現実的なアプローチ Apr 11, 2025 am 12:04 AM

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Redisキューの読み方 Redisキューの読み方 Apr 10, 2025 pm 10:12 PM

Redisのキューを読むには、キュー名を取得し、LPOPコマンドを使用して要素を読み、空のキューを処理する必要があります。特定の手順は次のとおりです。キュー名を取得します:「キュー:キュー」などの「キュー:」のプレフィックスで名前を付けます。 LPOPコマンドを使用します。キューのヘッドから要素を排出し、LPOP Queue:My-Queueなどの値を返します。空のキューの処理:キューが空の場合、LPOPはnilを返し、要素を読む前にキューが存在するかどうかを確認できます。

Redisでサーバーを開始する方法 Redisでサーバーを開始する方法 Apr 10, 2025 pm 08:12 PM

Redisサーバーを起動する手順には、以下が含まれます。オペレーティングシステムに従ってRedisをインストールします。 Redis-Server(Linux/Macos)またはRedis-Server.exe(Windows)を介してRedisサービスを開始します。 Redis-Cli ping(Linux/macos)またはRedis-Cli.exePing(Windows)コマンドを使用して、サービスステータスを確認します。 Redis-Cli、Python、node.jsなどのRedisクライアントを使用して、サーバーにアクセスします。

Redisのデータを読み取る方法 Redisのデータを読み取る方法 Apr 10, 2025 pm 07:30 PM

Redisのデータを読み取るには、次の手順に従うことができます。1。Redisサーバーに接続します。 2。(key)を使用してキーの値を取得します。 3.文字列値が必要な場合は、バイナリ値をデコードします。 4.使用(キー)を使用して、キーが存在するかどうかを確認します。 5。mget(キー)を使用して、複数の値を取得します。 6。タイプ(キー)を使用してデータ型を取得します。 7. Redisには、次のような他の読み取りコマンドがあります。すべてのキーを一致するパターンで取得し、カーソルを使用してキーを反復し、キー値を並べ替えます。

Python vs. C:比較されたアプリケーションとユースケース Python vs. C:比較されたアプリケーションとユースケース Apr 12, 2025 am 12:01 AM

Pythonは、データサイエンス、Web開発、自動化タスクに適していますが、Cはシステムプログラミング、ゲーム開発、組み込みシステムに適しています。 Pythonは、そのシンプルさと強力なエコシステムで知られていますが、Cは高性能および基礎となる制御機能で知られています。

Oracleデータベースで構成されているファイルの種類は何ですか? Oracleデータベースで構成されているファイルの種類は何ですか? Apr 11, 2025 pm 03:03 PM

Oracle Databaseファイル構造には、データファイル:実際のデータの保存が含まれます。制御ファイル:データベース構造情報を記録します。ログファイルをやり直す:データの一貫性を確保するために、トランザクション操作を記録します。パラメーターファイル:パフォーマンスを最適化するためのデータベースを実行するパラメーターを含みます。アーカイブログファイル:災害復旧のためのバックアップREDOログファイル。

Redisログイン許可を取得する方法 Redisログイン許可を取得する方法 Apr 10, 2025 pm 07:18 PM

Redisログイン許可を取得するには、次の手順を実行する必要があります。1。ユーザー名とパスワードを作成します。 2。リモート接続を許可します。 3. Redisサーバーを再起動します。 4. Redis CLIまたはプログラミング言語を使用して接続します。

Oracleデータベースにログインする方法 Oracleデータベースにログインする方法 Apr 11, 2025 pm 02:39 PM

Oracleデータベースログインには、ユーザー名とパスワードだけでなく、接続文字列(サーバー情報と資格情報を含む)および認証方法も含まれます。 SQL*Plusおよびプログラミング言語コネクタをサポートし、ユーザー名とパスワード、Kerberos、LDAPなどの認証オプションを提供します。一般的なエラーには、接続文字列エラーと無効なユーザー名/パスワードが含まれますが、ベストプラクティスは接続プーリング、パラメーター化されたクエリ、インデックス作成、セキュリティの資格情報の処理に焦点を当てています。

See all articles