Python
 Computer >> コンピューター >  >> プログラミング >> Python

ディレクトリ内のPythonリストファイル:ステップバイステップガイド

Python osライブラリは、ディレクトリ内のファイルを一覧表示するために使用されます。 Python os.listdir()メソッドは、ディレクトリ内のすべてのファイルとフォルダのリストを返します。 os.walk()関数は、ファイルツリー全体のすべてのファイルのリストを返します。


多くの場合、Pythonでファイルを操作しているときに、ディレクトリ内のファイルを一覧表示したい場合があります。たとえば、フォルダ内のすべてのPythonファイルを検索したい場合があります。

Python osライブラリには、ディレクトリ内のファイルを一覧表示するために使用できるいくつかのメソッドが用意されています。このチュートリアルでは、os.listdir()を使用してdirector内のファイルとフォルダーを取得する方法について説明します。 os.walk()の使用についても説明します ディレクトリ内のファイルとフォルダを取得するにはおよび そのサブディレクトリで。

Pythonosライブラリ

Python osライブラリは、オペレーティングシステムの操作に使用できる多くの関数を提供します。 osモジュールに含まれる機能は、Windows、Linux、Macのいずれであっても、最新のオペレーティングシステムで動作します。

osは外部ライブラリであるため、使用を開始する前にコードにインポートする必要があります。 Pythonのインポートステートメントを使用してこれを行うことができます:

import os

osライブラリをコードにインポートしたので、その関数を使用してディレクトリ内のアイテムを一覧表示できます。

Python os.listdir()

Pythonでは、 os.listdir() メソッドは、指定されたディレクトリ内のファイルとフォルダを一覧表示します。このメソッドは、オペレーティングシステムがさまざまなディレクトリをナビゲートするために使用する「。」や「..」などの特別なエントリを返しません。

os.listdir()は、第1レベルのフォルダーを超えるファイルやフォルダーも返しません。つまり、 os.listdir() メソッドによって検出されたサブフォルダー内には何も返されません。

参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。

平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。

os.listdir()関数は、1つのパラメーターを受け入れます。それは、ファイル名とフォルダー名を取得するディレクトリーのファイル・パスです。

listdirメソッドの構文は次のとおりです。

os.listdir(path)

Pythonプログラムでこのメソッドを使用する方法を示す例を見ていきましょう。

os.listdir()Pythonの例

過去10年間のNetflixの株式市場のパフォーマンスを分析するプログラムを作成しているとしましょう。すべての生データを含むフォルダー(名前:/ home / data_analysis / netflix)があり、プログラムの実行を開始する前に、ファイルが raw_data_2019.csvであることを確認する必要があります。 そのフォルダ内に存在します。

プログラムが正しく機能するためには、その特定のファイルをその特定のフォルダに保存する必要があります。

次のコードを使用して、 / home / data_analysis / netflix内のファイルのリストを取得できます。 作業ディレクトリ:

import os

path = '/home/data_analysis/netflix'

files = os.listdir(path)

for f in files:
	print(f)

このプログラムは、指定されたディレクトリ内のすべてのファイルとフォルダのリストを取得し、以下を返します。

README.md
app.py
raw_data_2016.csv
raw_data_2017.csv
raw_data_2018.csv
raw_data_2019.csv
processed_data

これで、ファイル raw_data_2019.csvかどうかを確認できます。 フォルダにあります。ご覧のとおりです。

コードを分解してみましょう。最初の行で、osモジュールをインポートします。これは、 os.listdir()にアクセスするために実行する必要があります。 関数。次に、 pathというPython変数を宣言します。 、コンテンツを取得するパスの名前を格納します。

次の行では、os.listdir()メソッドを使用して、 / home / data_analysis / netflix内のファイルとフォルダーのリストを取得します。 ディレクトリ。最後に、Pythonのforループを作成します。このループは、 os.listdir()によって生成されたリスト内のすべてのアイテムを繰り返し処理します 。 Pythonのprint()ステートメントを使用して、各ファイルの名前をコンソールに出力します。

/ home / data_analysis / netflix ディレクトリには、6つのファイルと1つのディレクトリが含まれていました。ディレクトリはprocessed_dataと呼ばれます 拡張子がないため、他のファイルと区別できます。

Python os.walk()

os.walk() 関数は、ツリー内に含まれるファイルのリストを取得します。このメソッドは、ツリー内の各ディレクトリを繰り返し処理します。次に、os.walk()は、ディレクトリ内のすべてのファイルとフォルダ、およびそのサブディレクトリの名前を返します。

os.walk()の構文 方法は次のとおりです。

os.walk(top, topdown, onerror, followlinks)

os.walk() メソッドは4つのパラメータを受け入れます:

  • トップ 取得するコンポーネントファイルとフォルダ名(必須)の最上位ディレクトリです
  • トップダウン 、Trueに設定すると、ディレクトリを上から下にスキャンする必要があることを指定します。この値がFalseに設定されている場合、ディレクトリは下から上にスキャンされます(オプション)
  • エラー エラーが発生した場合にエラーハンドラを提供します(オプション)
  • フォローリンク 、Trueに設定されている場合、システムリンクによって参照されるフォルダにアクセスします(オプション)

onerrorとfollowlinksはより高度であり、一般的に使用されていないため、最初の2つのパラメーターに焦点を当てます。

os.walk()Pythonの例

/ home / data_analysis / netflix内のすべてのファイルの名前を取得するとします。 ディレクトリ。また、そのフォルダ内のすべてのサブディレクトリに何が含まれているかを調べたいと思います。

上で説明したように、 netflix ディレクトリには次の1つのフォルダが含まれています: processed_data 。次のコードを使用して、 / home / data_analysis / netflix内のすべてのファイルの名前を取得できます。 ディレクトリおよび そのサブディレクトリ:

import os

path = '/home/data_analysis/netflix'

for root, directories, files in os.walk(path, topdown=False):
	for name in files:
		print(os.path.join(root, name))
	for name in directories:
		print(os.path.join(root, name))

コードからの出力は次のとおりです。

/home/data_analysis/netflix/README.md
/home/data_analysis/netflix/app.py
/home/data_analysis/netflix/raw_data_2016.csv
/home/data_analysis/netflix/raw_data_2017.csv
/home/data_analysis/netflix/raw_data_2018.csv
/home/data_analysis/netflix/raw_data_2019.csv
/home/data_analysis/netflix/processed_data
/home/data_analysis/netflix/processed_data/final.csv

os.walk()を参照するosモジュールをインポートします およびos.path.join() コードの後半にあるメソッド。次に、 pathという変数を宣言します。 、ファイル名を検出するパスを格納します。

次に、 forを作成します os.walk()を使用するループ パス内のすべてのファイルとフォルダのリストを取得するには ディレクトリ。このループは、os.walk()が返すファイルとフォルダーを繰り返し処理します。 topdown =Falseを指定していることに注意してください。 os.walk()のパラメータ トップダウン検索を実行するようにコードに指示するメソッド。

私たちのfor ループは、追加の for を使用して、os.walk()メソッドによって検出された各ファイルとディレクトリを繰り返し処理します。 ループします。 os.walk()のファイルをコンソールに出力します。

上記のコードでは、 forを次に示します。 ループ:

for root, directories, files in os.walk(path):
	for name in files:
		print(os.path.join(root, name))
	for name in directories:
		print(os.path.join(root, name))

次に、プログラムはos.path.join()を使用して、各ファイルのルートフォルダー(つまり/ home / data_analysis / netflix )を結合します。 )とファイルの名前(例: raw_datra_2019.csv )。ルートフォルダは、ファイルが存在するディレクトリパスを指します。

結論

Python listdir()を使用できます これを行う方法。 walk()を使用することもできます メソッド。ディレクトリ内のすべてを一覧表示します。を含む サブディレクトリ内のすべて。

このガイドでは、例を示し、 os.listdir()の使用方法について説明しました。 およびos.walk() Pythonのディレクトリ内のファイルとフォルダを一覧表示するメソッド。これで、エキスパートのようにPythonのディレクトリにファイルを一覧表示するために必要なスキルが身に付きました。

Pythonでのコーディングの詳細については、Pythonの学習方法ガイド全体をお読みください。


  1. Pythonリバースリスト:ステップバイステップのチュートリアル

    組み込みのPythonを使用してリストを逆にすることができます reverse() または reverse() メソッド。これらのメソッドは、新しいリストを作成せずにリストを逆にします。 Python reverse() および reverse() は、元のリストオブジェクトの要素を反転します。 リストを逆にすることは、プログラミング言語の一般的な部分です。このチュートリアルでは、最も効果的なPythonリバースリストメソッドを分析します。 Pythonに顧客名のリストがアルファベットの逆順であり、アルファベット順に表示したいとします。そのためには、リストを逆にする必要があります。長

  2. Pythonインタープリター:ステップバイステップガイド

    Pythonインタープリターは、マシンに正しいバージョンのPythonがインストールされていることを確認しなくてもオンラインで存在するため、Pythonは非常にアクセスしやすく学習できます。この記事では、Pythonインタープリターとは何かについて説明し、オンラインで使用できる、より人気のある、初心者向けのインタープリターをいくつかリストします。 Pythonプログラムはどのように実行されますか? Pythonは、Javaと同様に、インタプリタ言語またはコンパイル言語として完全に分類することはできません。両方のほんの少しです。 この場合にコンパイルされるということは、どの