Pythonのtxtファイルを開いて書き込みする方法
Pythonでテキストファイルに書き込むには、open()
関数でファイルを開き、write()
メソッドで内容を書き込む必要があります。ファイルを開く際のモード('w'は書き込みモード、'a'は追記モード)を指定することで新規作成や上書き、追記などの操作を選択することが可能です。
以下のサンプルコードは、新規ファイルを作成して文字列を書き込む基本的な方法を示しています。with
文を使用することでファイルの自動クローズが保証されるため、より安全なコーディングが可能になります。
【サンプルコード】
# テキストファイルに書き込む基本的な方法
filename = "sample.txt"
content = "Hello, Python!\nこんにちは、Python!"
with open(filename, "w", encoding="utf-8") as file:
file.write(content)
print(f"{filename}にデータを書き込みました。")
【実行結果】
sample.txtにデータを書き込みました。
上記のコードを実行することによって、"sample.txt" という名前のファイルが作成され(または既に存在する場合は上書きされ)、"Hello, Python!\nこんにちは、Python!" という内容が書き込まれます。
既存のtxtファイルに書き込み(追記)する方法
既存ファイルに追記したい場合、open()
関数のモードをアペンドモード('a')にします。アペンドモードではファイルの末尾に新しいデータが追加され、既存の内容も保持されるため、ログファイルの更新などに適しています。
【サンプルコード】
# テキストファイルに追記する方法
filename = "log.txt"
new_entry = "新しいログエントリ\n"
with open(filename, "a", encoding="utf-8") as file:
file.write(new_entry)
print(f"{filename}に新しいエントリを追加しました。")
# ファイルの内容を確認
with open(filename, "r", encoding="utf-8") as file:
content = file.read()
print("ファイルの内容:")
print(content)
【実行結果】
log.txtに新しいエントリを追加しました。
ファイルの内容:
新しいログエントリ
※既にlog.txtが存在し、何らかの記述があった場合は既存の内容の末尾に追記される
txtファイルに複数行の書き込みをする方法
複数行のデータをテキストファイルに書き込む場合は、writelines()
メソッドを使用すると効率的です。このメソッドは文字列のリストなどのイテラブルオブジェクトを引数に取り、各要素をファイルに書き込みます。writelines()
は自動で改行を挿入しないため、各行の末尾に改行文字(\n
)を明示的に追加する必要があることを覚えておいてください。
【サンプルコード】
# 複数行をテキストファイルに書き込む
filename = "multiline.txt"
lines = [
"1行目: Pythonでファイル操作\n",
"2行目: 複数行の書き込み\n",
"3行目: writelines()メソッドの使用\n"
]
with open(filename, "w", encoding="utf-8") as file:
file.writelines(lines)
print(f"{filename}に複数行を書き込みました。")
# ファイルの内容を確認
with open(filename, "r", encoding="utf-8") as file:
content = file.read()
print("ファイルの内容:")
print(content)
【実行結果】
multiline.txtに複数行を書き込みました。
ファイルの内容:
1行目: Pythonでファイル操作
2行目: 複数行の書き込み
3行目: writelines()メソッドの使用
日本語などのマルチバイト文字を含むテキストファイルを扱う場合、open()
関数でエンコーディングを明示的に指定することが重要です。通常はUTF-8エンコーディング(encoding="utf-8"
)を使用しており、この指定によって文字化けを防ぎ異なる環境間での互換性を高めることができます。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
ITやプログラミングに関するコラム
- 【Python】fileの読み込み方法を簡単に解説
- 【Python】リスト(list)を初期化する方法を簡単に解説
- 【Python】format関数とf文字列で桁数を指定する方法を解説
- 【Python】null判定をする基本的な方法を解説