<< home

Pythonのファイル操作

Pythonでは、テキストファイルやバイナリファイルの読み書きを簡単に行うことができます。本章では、基本的なファイル操作に加えて、間違えやすいpathの記述について詳しく解説します。


1. ファイルの基本操作

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)

2. 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()

注意点:

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("ファイルが見つかりません!")

3. CSVファイルの読み書き

CSVはデータの保存形式としてよく使われます。

CSVの書き込み

import csv data = [["名前", "年齢"], ["太郎", 25], ["花子", 30]] with open("data.csv", "w", newline="", encoding="utf-8") as f: writer = csv.writer(f) writer.writerows(data)

CSVの読み込み

with open("data.csv", "r", encoding="utf-8") as f: reader = csv.reader(f) for row in reader: print(row)

4. JSONファイルの読み書き

Pythonではjsonモジュールを使って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)

JSONの読み込み

with open("data.json", "r", encoding="utf-8") as f: data = json.load(f) print(data)

JSONとは?

JSON (JavaScript Object Notation) は、データを構造化して保存および送信するための軽量なデータ交換形式です。シンプルで人間にも読みやすく、また機械でも解析しやすい特徴があります。主にウェブアプリケーションで使用され、サーバーとクライアント間でデータをやり取りするのに使われます。

JSONの基本構造

JSONの基本的な構造は以下の2つの要素から成り立っています。 オブジェクト (Object): キーと値のペアからなるデータ構造。波括弧 {} で囲まれます。 配列 (Array): 値のリスト。角括弧 [] で囲まれます。

JSONの例

以下は、JSONの基本的な例です。

{ "name": "太郎", "age": 25, "isStudent": true, "scores": [90, 85, 88], "address": { "street": "1-2-3 Chiyoda", "city": "東京", "zipcode": "100-0001" } }

JSONの特徴

簡単に読み書きできる: JSONはテキスト形式なので、簡単に読み書きできます。 言語に依存しない: JSONは多くのプログラミング言語でサポートされています。 軽量: 必要最低限の記述でデータを表現できるため、データのやり取りが効率的です。

JSONを使う場面

API: クライアントとサーバー間でデータをやり取りする際によく使われます。 設定ファイル: アプリケーションの設定を保存するのに使われます。 データの保存: 簡単なデータベースとして使用されることもあります。


5. まとめ

適切なパスの扱いを理解し、安全なファイル操作を心がけましょう!



<< home