Pythonのファイルを操作するサンプルです。(確認環境:Python 3)
目次
ファイル操作 | ファイルの存在確認(isfile) |
ファイルをコピーする(copy) | |
ファイルを移動する(move) | |
ファイル名を変更する(rename) | |
空ファイルを作成する(touch) | |
ファイルを削除する(remove) | |
ファイルのサイズを取得する(getsize) | |
作成日時と更新日時を取得(getctime/getmtime) | |
フォルダ内のファイルの一覧を取得(glob) |
ファイルの存在確認(isfile)
# coding: utf-8
import os
path1 = "D:\\Test3\\test1.txt"
if os.path.isfile(path1):
print("存在します")
else:
print("存在しません")
isfileは、ファイルが存在している場合、trueを返します。
存在していない場合、falseを返します。
ファイルをコピーする(copy)
# coding: utf-8
import shutil
path1 = "D:\\Test3\\test1.txt"
path2 = "D:\\Test4\\test1.txt"
shutil.copy(path1,path2)
path3 = "D:\\Test3\\test2.txt"
path4 = "D:\\Test4\\test2.txt"
shutil.copy2(path3,path4)
copyを行った後のファイルの作成日時と更新日時はコピー時のものになります。
copy2は可能な限り全てのメタデータをコピーします。
確認環境(Windows10)では、作成日時はコピー時のもので更新日時はコピー元の値でした。
ファイルを移動する(move)
# coding: utf-8
import shutil
path1 = "D:\\Test3\\test1.txt"
path2 = "D:\\Test4\\test1.txt"
shutil.move(path1,path2)
moveは、1つめの引数の移動元から2つめの引数の移動先に移動します。
移動先に、同名のファイルが存在していてもエラーにならず上書きされます。
ファイル名を変更する(rename)
# coding: utf-8
import os
path1 = "D:\\Test3\\test1.txt"
path2 = "D:\\Test3\\test2.txt"
os.rename(path1, path2)
renameは、1つめの引数の変更前ファイル名から2つめの引数の変更後ファイル名にします。
空ファイルを作成する(touch)
# coding: utf-8
import pathlib
path1 = "D:\\Test3\\test1.txt"
file1 = pathlib.Path(path1)
file1.touch()
touchは、空ファイルを作成します。
ファイルが存在する状態で実行すると更新日時が更新されます。
ファイルを削除する(remove)
# coding: utf-8
import os
path1 = "D:\\Test3\\test1.txt"
os.remove(path1)
removeは、ファイルを削除します。
削除対象のファイルが存在しない場合はエラーになります。
ファイルのサイズを取得する(getsize)
# coding: utf-8
import os
path1 = "D:\\Test3\\test1.txt"
fsize = os.path.getsize(path1)
print (fsize)
getsizeは、ファイルのサイズをバイト数で返します。
ファイルが存在しない場合はエラーになります。
作成日時と更新日時を取得(getctime/getmtime)
# coding: utf-8
import os
import datetime
path1 = "D:\\Test3\\test1.txt"
ctime = os.path.getctime(path1)
fTime1 = datetime.datetime.fromtimestamp(ctime)
print (fTime1) #2021-03-07 19:33:14.687427
mtime = os.path.getmtime(path1)
fTime2 = datetime.datetime.fromtimestamp(mtime)
print (fTime2) #2021-03-07 19:33:14.687427
getctimeメソッドはファイルの作成日時を取得し、
getmtimeメソッドはファイルの更新日時を取得します。
作成日時の取得方法はOSによって異なります。
上記例はWindowsです。
フォルダ内のファイルの一覧を取得(glob)
# coding: utf-8
import glob
path1 = "D:\\Test3\\*"
#path1 = "D:\\Test3\\*\\*"
list1 = glob.glob(path1)
for file in list1:
print(file)
globでファイルの一覧を取得します。
4行目のように最後にアスタリスク(*)が必要です。
5行目はアスタリスクが2つあります。Test3フォルダ配下にあるファイルの一覧と、Test3フォルダ配下にあるフォルダ内のファイルの一覧を表示します。
関連の記事