Pythonによるディレクトリやファイルの操作
この投稿ではPythonでのディレクトリやファイルの操作を実行する基本的なコードをいくつか紹介する。
なお前提として、jupiter等のPythonの実行環境は用意されているものとする。
ディレクトリの作成
以下を実行し、osライブラリのmkdirメソッドを使用してディレクトリを作成することができる。newfolderという名称のディレクトリが作成されるが、作成されたディレクトリの作成先はmkdir_app.pyの格納先と同じである。
import os
os.mkdir("newfolder")
ファイルの作成、読み取り
以下を実行することで、hello worldという文字が記述されたtest.txtというファイルを作成することができる。
file = open("test.txt","w+")
file.write("hello world")
file.close()
ここで使用されているopen,write,closeという関数はいずれもPythonの標準的な関数であるため、特にライブラリをインポートする必要はない。また、作成先についてはmkfile_app.pyの格納先と同じ場所に作成される。
何を実行しているのかはコードを見れば大体分かると思われるが、open関数の引数に入っているw+
はファイルの読み書きの権限を与えるモードである。
モードには以下の種類がある。
・w+
,r+
: 読み書き両用
・w
: 書き込み専用
・r
: 読み取り専用
・x
: 書き込み専用(新規ファイル作成のみ)
また、以下のようにopenの前にwithを実行すると、既存のファイルを開きファイルを閉じる操作を一括して実行できる。
with open("test.txt","w+")
file.write("hello world")
ファイルの移動
上記で作成された、test.txtファイルをnewfolderディレクトリへ移動させる。コードは以下の通りである。
import shutil
shutil.move("test.txt","newfolder")
shutilライブラリをインポートし、moveメソッドによりファイルを移動させている。このmoveメソッドはファイルもディレクトリも移動させることができる。
書き方として、shutil.move("移動したいファイルorディレクトリのパス","移動先のパス")
と記述する。上記の場合、test.textもnewfolderも全て、movefile_app.pyと同じ場所に作成されていることを前提としているため、詳細なパスの記述は必要ない。
ファイルの削除
以下を実行すると、newfolederに格納されたtest.txtファイルを削除することができる。
import os
os.remove("newfolder/test.txt")
ディレクトリの削除
以下を実行するとディレクトリを削除することができる。また、中にファイルが入っている状態で実行すると、中のファイルもろとも削除される。
import shutil
shutil.rmtree("newFolder")
参考文献
久我涼子(2021) 『Pythonではじめるデスクトップアプリ開発入門』