KAMEYA_WORKS
Pythonでは、テキストファイルやバイナリファイルの読み書きを簡単に行うことができます。本章では、基本的なファイル操作に加えて、間違えやすいpath
の記述について詳しく解説します。
Pythonではopen()
関数を使ってファイルを開きます。
モード | 説明 |
---|---|
"r" |
読み込み(デフォルト) |
"w" |
書き込み(既存の内容を削除) |
"a" |
追記(既存の内容を保持) |
"x" |
新規作成(既存のファイルがあるとエラー) |
"b" |
バイナリモード(例:"rb" , "wb" ) |
with open("example.txt", "w") as f:
f.write("こんにちは、Python!")
with open("example.txt", "r") as f:
content = f.read()
print(content)
path
の扱い(間違えやすいポイント)ファイルのパス指定には絶対パスと相対パスがあります。
file_path = "/home/user/documents/example.txt"
with open(file_path, "r") as f:
content = f.read()
with open("data/example.txt", "r") as f:
content = f.read()
C:\Users\User\example.txt
\
がエスケープシーケンスと誤解されるため、r"C:\Users\User\example.txt"
のように r
をつける か、 /
に変える。Path
オブジェクトを使う。pathlib
を使ったパスの扱い(推奨)pathlib
を使うと、OSごとの違いを気にせずにパスを扱えます。
from pathlib import Path
file_path = Path("example.txt")
with file_path.open("r") as f:
content = f.read()
from pathlib import Path
file_path = Path("example.txt")
if file_path.exists():
print("ファイルが存在します!")
else:
print("ファイルが見つかりません!")
CSVはデータの保存形式としてよく使われます。
import csv
data = [["名前", "年齢"], ["太郎", 25], ["花子", 30]]
with open("data.csv", "w", newline="", encoding="utf-8") as f:
writer = csv.writer(f)
writer.writerows(data)
with open("data.csv", "r", encoding="utf-8") as f:
reader = csv.reader(f)
for row in reader:
print(row)
Pythonではjson
モジュールを使ってJSONファイルを操作できます。
import json
data = {"name": "太郎", "age": 25}
with open("data.json", "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=4)
with open("data.json", "r", encoding="utf-8") as f:
data = json.load(f)
print(data)
JSON (JavaScript Object Notation)
は、データを構造化して保存および送信するための軽量なデータ交換形式です。シンプルで人間にも読みやすく、また機械でも解析しやすい特徴があります。主にウェブアプリケーションで使用され、サーバーとクライアント間でデータをやり取りするのに使われます。
JSONの基本的な構造は以下の2つの要素から成り立っています。 オブジェクト (Object): キーと値のペアからなるデータ構造。波括弧 {} で囲まれます。 配列 (Array): 値のリスト。角括弧 [] で囲まれます。
以下は、JSONの基本的な例です。
{
"name": "太郎",
"age": 25,
"isStudent": true,
"scores": [90, 85, 88],
"address": {
"street": "1-2-3 Chiyoda",
"city": "東京",
"zipcode": "100-0001"
}
}
簡単に読み書きできる: JSONはテキスト形式なので、簡単に読み書きできます。 言語に依存しない: JSONは多くのプログラミング言語でサポートされています。 軽量: 必要最低限の記述でデータを表現できるため、データのやり取りが効率的です。
API: クライアントとサーバー間でデータをやり取りする際によく使われます。 設定ファイル: アプリケーションの設定を保存するのに使われます。 データの保存: 簡単なデータベースとして使用されることもあります。
open()
を使ってファイルを操作できる(with
構文を推奨)pathlib
を使うと、OSごとのパスの違いを意識せずに済むcsv
モジュールを使うとCSVファイルを簡単に扱えるjson
モジュールを使うとJSONデータを保存・読み込みできる適切なパスの扱いを理解し、安全なファイル操作を心がけましょう!