Python ディレクトリおよびファイル管理
Python のディレクトリとファイルの管理
このチュートリアルでは、Python でのファイルとディレクトリの管理、つまり、ディレクトリの作成、名前の変更、すべてのディレクトリの一覧表示、それらの操作について学習します。
ビデオ:Python os モジュール
Python ディレクトリ
Python プログラムで処理するファイルが多数ある場合は、コードを別のディレクトリに配置して、管理しやすくすることができます。
ディレクトリまたはフォルダは、ファイルとサブディレクトリの集まりです。 Python には os
があります ディレクトリ (およびファイルも同様) を操作するための多くの便利なメソッドを提供するモジュールです。
現在のディレクトリを取得
getcwd()
を使用して現在の作業ディレクトリを取得できます os
のメソッド モジュール。
このメソッドは、現在の作業ディレクトリを文字列の形式で返します。 getcwdb()
も使用できます バイト オブジェクトとして取得するメソッド。
>>> import os
>>> os.getcwd()
'C:\\Program Files\\PyScripter'
>>> os.getcwdb()
b'C:\\Program Files\\PyScripter'
余分なバックスラッシュは、エスケープ シーケンスを意味します。 print()
関数はこれを適切にレンダリングします。
>>> print(os.getcwd())
C:\Program Files\PyScripter
ディレクトリの変更
chdir()
を使用して現在の作業ディレクトリを変更できます メソッド。
変更先の新しいパスは、このメソッドに文字列として提供する必要があります。スラッシュ /
の両方を使用できます またはバックスラッシュ \
パス要素を分離します。
バックスラッシュを使用する場合は、エスケープ シーケンスを使用する方が安全です。
>>> os.chdir('C:\\Python33')
>>> print(os.getcwd())
C:\Python33
ディレクトリとファイルの一覧表示
ディレクトリ内のすべてのファイルとサブディレクトリは、 listdir()
を使用して取得できます メソッド。
このメソッドはパスを受け取り、そのパス内のサブディレクトリとファイルのリストを返します。パスが指定されていない場合、現在の作業ディレクトリからサブディレクトリとファイルのリストを返します。
>>> print(os.getcwd())
C:\Python33
>>> os.listdir()
['DLLs',
'Doc',
'include',
'Lib',
'libs',
'LICENSE.txt',
'NEWS.txt',
'python.exe',
'pythonw.exe',
'README.txt',
'Scripts',
'tcl',
'Tools']
>>> os.listdir('G:\\')
['$RECYCLE.BIN',
'Movies',
'Music',
'Photos',
'Series',
'System Volume Information']
新しいディレクトリの作成
mkdir()
を使用して新しいディレクトリを作成できます メソッド。
このメソッドは、新しいディレクトリのパスを受け取ります。フル パスが指定されていない場合、新しいディレクトリは現在の作業ディレクトリに作成されます。
>>> os.mkdir('test')
>>> os.listdir()
['test']
ディレクトリまたはファイルの名前を変更する
rename()
メソッドは、ディレクトリまたはファイルの名前を変更できます。
ディレクトリまたはファイルの名前を変更するには、rename()
メソッドは 2 つの基本的な引数を取ります。古い名前を最初の引数として、新しい名前を 2 番目の引数として取ります。
>>> os.listdir()
['test']
>>> os.rename('test','new_one')
>>> os.listdir()
['new_one']
ディレクトリまたはファイルを削除しています
remove()
を使用してファイルを削除 (削除) できます メソッド。
同様に、rmdir()
メソッドは空のディレクトリを削除します。
>>> os.listdir()
['new_one', 'old.txt']
>>> os.remove('old.txt')
>>> os.listdir()
['new_one']
>>> os.rmdir('new_one')
>>> os.listdir()
[]
注意 :rmdir()
メソッドは空のディレクトリのみを削除できます。
空でないディレクトリを削除するには、 rmtree()
を使用できます shutil
内のメソッド モジュール。
>>> os.listdir()
['test']
>>> os.rmdir('test')
Traceback (most recent call last):
...
OSError: [WinError 145] The directory is not empty: 'test'
>>> import shutil
>>> shutil.rmtree('test')
>>> os.listdir()
[]
Python