Pythonでディレクトリ(フォルダー)やファイル操作を行う方法

2021/01/19PythonPythonモジュール,osモジュール,shutilモジュール

記事内に広告が含まれています。

Pythonでディレクトリ(フォルダ)とファイルと操作をを行うにはosモジュールを使用します。

またファイルのコピーにはshutilモジュールを使用します。

カレントディレクトリを取得するos.getcwd()

カレントディレクトリを取得するにはos.getcwd()を使います。

import os

path = os.getcwd()
print(path)

カレントディレクトリを移動するos.chdir()

カレントディレクトリを移動するにはos.chdir()を使います。

import os

os.chdir( "../../python_test" )
print(path)

ディレクトリ、ファイルの存在チェックするos.path.exists()

ディレクトリ、ファイルの存在をチェックするにはos.path.exists()を使います。

import os

filepath = './test.txt'
print( os.path.exists( filepath ))

os.path.exists()は指定したディレクトリやファイルが存在すれば「True」、存在しなければ「False」を返します。

ディレクトリかチェックするos.path.isdir()

指定したパスがディレクトリ判断するにはos.path.isdir()を使います。

import os

dir_path = './test_dir'
print( os.path.isdir( dir_path ))

os.path.isdir()は指定したパスがディレクトリならば「True」、ディレクトリでなければ「False」を返します。

ファイルかチェックするos.path.isfile()

ディレクトリを作成するにはos.path.isfile()を使用します。

import os

filepath = './text.txt'
print( os.path.isfile( filepath ))

os.path.isfile()は指定したパスがファイルならば「True」、ファイルでなければ「False」を返します。

ディレクトリを作成するos.mkdir()またはos.makedirs()

ディレクトリを作成するにはos.mkdir()またはos.makedirs()を使います。

os.mkdir()は単一のディレクトリを作成します。

パスで指定された最終ディレクトリまでのディレクトリは存在している必要があります。

os.makedirs()は途中で指定されたフォルダーが存在しない場合もすべて作成して最終フォルダーを作成してくれます。

import os

os.mkdir( "C:/python_test/tmp/tmpA" )         #「python_test」「tmp」がすでに存在していなければエラーになる
os.makedirs( "C:/python_test/tmp/tmp1/tmp2" ) #途中の存在しないフォルダーも作成しながら作成してくれる

絶対パスを取得するos.path.abspath()

os.path.abspath(path)はパス名pathの正規化された絶対パスを返します。

import os

filepath = "./dir1/dir2/test.txt"

path = os.path.abspath( filepath )
print( path )

上記のコードの実行結果は

C:\dir1\dir2\test.txt

になります。

末尾のファイル名部分を取得するos.path.basename()

os.path.basename(path)はパス名pathの末尾のファイル名部分を返します。

import os

filepath = "./dir1/dir2/test.txt"

path = os.path.basename( filepath )
print( path )

上記のコードの実行結果は

test.txt

になります。

ディレクトリ名部分を取得するos.path.dirname()

os.path.dirname(path)はパス名pathのディレクトリ名を返します。

import os

filepath = "./dir1/dir2/test.txt"

path = os.path.dirname( filepath )
print( path )

上記のコードの実行結果は

./dir1/dir2

になります。

ディレクトリを削除するos.rmdir()

ディレクトリを削除するにはos.rmdir()を使用します。

import os

os.rmdir( "C:/python_test/tmp/tmp1/tmp2" )

ファイルサイズを取得するos.path.getsize()

ファイルサイズを取得するにはos.path.getsize()を使います。

import os

size = os.path.getsize( "./text.txt" )

ファイルのコピーするshutil.copy()もしくはshutil.copytree()

ファイルをコピーするにはshutilモジュールのshutil.copy()もしくはshutil.copytree()を使用します。

shutil.copy()は単一ファイル、shutil.copytree()再帰的にディレクトリをコピーしてくれます。

import os
import shutil
 
shutil.copy( "C:/python_test/src_text.txt", "C:/python_test/dest_text.txt')
shutil.copytree( "c:/python_test", "C:/python_test_copy")

まとめ

Pythonでディレクトリ(フォルダ)やファイルに対しての操作はosモジュールやshutilモジュールを使用すると簡単にディレクトリやファイルにアクセスすることができるようになります。

システムトラストでは一緒に働いていただける仲間を募集中です。
株式会社システムトラスト

システムトラストでは、システムエンジニア、プログラマーなどを随時募集中です。気軽にご相談ください。

お問合せ