【Python入門】ファイル操作の基本をマスター!初心者でも簡単にできる方法とは?

はじめに

Pythonは、ファイル操作に必要なモジュールが豊富に揃っているため、ファイル操作が比較的容易にできます。本記事では、Pythonにおけるファイル操作について解説します。本記事の対象読者は、Pythonを初めて学ぶ方、またはPythonにおけるファイル操作について学びたい方です。

ファイルを開く/ファイルを閉じる

ファイルを開くには、Pythonの組み込み関数であるopen()を使用します。open()は、ファイル名とモードを引数に取り、ファイルオブジェクトを返します。ファイルモードは、読み書きの種類を指定します。以下は、ファイルを読み込むための例です。

# ファイルを読み込む
file = open('file.txt', 'r')

ファイルを閉じるには、ファイルオブジェクトのclose()メソッドを使用します。

# ファイルを閉じる
file.close()

close()メソッドを呼び出すことで、ファイルへのアクセスを終了し、メモリを開放します。

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

テキストファイルを読み込むには、ファイルオブジェクトのread()メソッドを使用します。

# ファイルを読み込む
file = open('file.txt', 'r')
content = file.read()
print(content)
file.close()

read()メソッドは、ファイルの内容全体を文字列として返します。read()メソッドは、ファイルを開いた後、一度しか呼び出せません。ファイルを再度読み込む場合は、ファイルを再度開く必要があります。

テキストファイルに書き込むには、ファイルオブジェクトのwrite()メソッドを使用します。

# ファイルに書き込む
file = open('file.txt', 'w')
file.write('Hello, World!')
file.close()

write()メソッドは、ファイルに指定された文字列を書き込みます。ファイルが存在しない場合、ファイルを新規作成します。

with文を使った方法など深く理解したい人は以下の記事も参考にしてみてください。

バイナリファイルの読み込みと書き込み

バイナリファイルを読み込むには、ファイルモードにbを付けてopen()を使用します。

# バイナリファイルを読み込む
file = open('file.bin', 'rb')
content = file.read()
print(content)
file.close()

read()メソッドは、バイナリデータをバイト列として返します。バイナリファイルに書き込むには、ファイルモードにbを付けてopen()を使用します。

# バイナリファイルに書き込む
file = open('file.bin', 'wb')
file.write(b'\\x48\\x65\\x6c\\x6c\\x6f\\x2c\\x20\\x57\\x6f\\x72\\x6c\\x64\\x21')
file.close()

write()メソッドには、バイト列を渡します。

pathlibモジュールを使ったファイルの読み書き

Pythonには、ファイルパスを扱うためのosモジュールやos.pathモジュールがありますが、Python 3.4以降では、pathlibモジュールが導入されました。pathlibモジュールを使用すると、直感的かつ簡単にファイルを操作できます。

from pathlib import Path

# ファイルを読み込む
path = Path('file.txt')
content = path.read_text()
print(content)

# ファイルに書き込む
path.write_text('Hello, World!')

Pathオブジェクトread_text()メソッドは、ファイルの内容を文字列として返します。また、write_text()メソッドは、文字列をファイルに書き込みます。

ファイルの作成と削除

ファイルを作成するには、open()関数を使用します。

# ファイルを作成する
file = open('file.txt', 'w')
file.close()

ファイルを削除するには、osモジュールのremove()関数を使用します。

ファイルの作成と削除(pathlibモジュール)

pathlibモジュールを使用して、ファイルを作成することもできます。

from pathlib import Path

# ファイルを作成する
path = Path('file.txt')
path.touch()

ファイルを削除するには、Pathオブジェクトのunlink()メソッドを使用します。

from pathlib import Path

# ファイルを削除する
path = Path('file.txt')
path.unlink()

ディレクトトリの作成と削除

ディレクトリを作成するには、osモジュールのmkdir()関数を使用します。

import os

# ディレクトリを作成する
os.mkdir('dir')

ディレクトリを削除するには、osモジュールのrmdir()関数を使用します。

import os

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

ディレクトリの作成と削除(pathlibモジュール)

pathlibモジュールを使用して、ディレクトリを作成することもできます。

from pathlib import Path

# ディレクトリを作成する
path = Path('dir')
path.mkdir()

ディレクトリを削除するには、Pathオブジェクトのrmdir()メソッドを使用します。

from pathlib import Path

# ディレクトリを削除する
path = Path('dir')
path.rmdir()

ディレクトリに含まれるファイルとディレクトリの一覧を取得する

osモジュールのlistdir()関数`を使用すると、指定したディレクトリに含まれるファイルとディレクトリの一覧を取得できます。

import os

# ディレクトリに含まれるファイルとディレクトリの一覧を取得する
files = os.listdir('dir')
print(files)

listdir()関数は、指定したディレクトリに含まれるファイルとディレクトリの名前のリストを返します。

ディレクトリに含まれるファイルとディレクトリの一覧を取得する(pathlibモジュール)

Pathオブジェクトのiterdir()メソッド`を使用すると、指定したディレクトリに含まれるファイルとディレクトリの一覧を取得できます。

from pathlib import Path

# ディレクトリに含まれるファイルとディレクトリの一覧を取得する
path = Path('dir')
for file in path.iterdir():
    print(file.name)

iterdir()メソッドは、指定したディレクトリに含まれるファイルとディレクトリを表すPathオブジェクトイテレータを返します。

ファイルやディレクトリの存在を確認する

os.pathモジュールのexists()`関数を使用すると、指定したファイルまたはディレクトリが存在するかどうかを確認できます。

import os
print(os.path.exists('file.txt'))# True
print(os.path.exists('dir'))# True

exists()関数は、指定したファイルまたはディレクトリが存在する場合にTrue、存在しない場合にFalseを返します。

ファイルやディレクトリの存在を確認する(pathlibモジュール)

Pathオブジェクトのexists()メソッドを使用すると、指定したファイルまたはディレクトリが存在するかどうかを確認できます。

from pathlib import Path
print(Path('file.txt').exists())
print(Path('dir').exists())

条件に一致するファイルやディレクトリの一覧を取得する

osモジュールのglob()`関数を使用すると、条件に一致するファイルやディレクトリの一覧を取得できます。

import os

# 条件に一致するファイルやディレクトリの一覧を取得する
files = os.glob('*.txt')
print(files)

glob()関数は、指定した条件に一致するファイルやディレクトリのパスのリストを返します。条件には、ワイルドカードを使用できます。

条件に一致するファイルやディレクトリの一覧を取得する(pathlibモジュール)

Pathオブジェクトのglob()メソッドを使用すると、条件に一致するファイルやディレクトリの一覧を取得できます。

from pathlib import Path

# 条件に一致するファイルやディレクトリの一覧を取得する
path = Path('.')
for file in path.glob('*.txt'):
   print(file)

glob()メソッドは、指定した条件に一致するファイルやディレクトリを表すPathオブジェクトのイテレータを返します。

ファイル名またはディレクトリ名を変更する

osモジュールのrename()関数を使用すると、ファイル名またはディレクトリ名を変更できます。

import os

# ファイル名またはディレクトリ名を変更する
os.rename('file.txt', 'new_file.txt')

rename()関数には、変更前の名前と変更後の名前を指定します。

コメント

タイトルとURLをコピーしました