Pythonでのファイルの読み書き(open関数、with文)

この記事では、Pythonを使用してファイルの読み書きをする方法について説明します。

ファイルを開く

Pythonでファイルを開くには、open()関数を使用します。この関数には、ファイル名とモードを引数として渡します。モードには、読み込みモード、書き込みモード、追記モードなどがあります。

# ファイルを読み込む
f = open("example.txt", "r")

# ファイルに書き込む
f = open("example.txt", "w")

# ファイルに追記する
f = open("example.txt", "a")

open()関数は、ファイルを開いた後、ファイルオブジェクトを返します。これを使って、ファイルの読み書きを行います。

ファイルを読み込む

ファイルを読み込むには、ファイルオブジェクトのread()メソッドを使用します。このメソッドは、ファイル内のすべての文字列を一度に読み込みます。

# ファイルを開く
f = open("example.txt", "r")

# ファイル内の文字列を読み込む
content = f.read()

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

# 読み込んだ文字列を表示する
print(content)

上記のコードは、example.txtファイルを読み込み、ファイル内のすべての文字列を変数contentに格納し、その内容を表示します。f.close()は、ファイルを閉じるために使用されます。

ファイルに書き込む

ファイルに書き込むには、ファイルオブジェクトのwrite()メソッドを使用します。このメソッドは、文字列をファイルに書き込みます。書き込む内容は、引数として渡されます。

# ファイルを開く
f = open("example.txt", "w")

# ファイルに文字列を書き込む
f.write("Hello, world!")

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

上記のコードは、example.txtファイルを開き、文字列"Hello, world!"を書き込みます。f.close()は、ファイルを閉じるために使用されます。

with文を利用してファイルを開く

上記のコードでは、ファイルを閉じるためにclose()メソッドを使用していますが、万が一ファイルを閉じる処理を忘れてしまうと、メモリリークなどの問題が発生する可能性があります。この問題を解決するために、Pythonではwith文を使用することができます。with文を使用すると、ファイルオブジェクトが自動的に閉じられます。

# with文を使用してファイルを読み込む
with open("example.txt", "r") as f:
    content = f.read()

# 読み込んだ文字列を表示する
print(content)

# with文を使用してファイルに書き込む
with open("example.txt", "w") as f:
    f.write("Hello, world!")

# ファイルを再度開いて、書き込まれた内容を読み込む
with open("example.txt", "r") as f:
    content = f.read()

# 読み込んだ文字列を表示する
print(content)

with文を使用すると、ファイルを開くコードブロックを定義し、その中でファイルの読み書きを行います。ファイルを閉じるために、withブロックを抜けるときにファイルが自動的に閉じられます。