Python ファイルの存在/移動/コピー/削除/一覧

Pythonのファイルを操作するサンプルです。

確認環境
・Python 3.8
・Windows 10

目次

ファイル操作 ファイルの存在確認(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フォルダ配下にあるフォルダ内のファイルの一覧を表示します。

関連の記事

Python テキストファイルの読み込みと書き込み

△上に戻る