備忘録

【Python】Pythonでファイルの読み書きをする

前提

Python: 3.12

基本

with open(file_name, 'w', encoding='utf-8') as f:
    f.write('Sample')

モードの指定

‘r’ 読み込み用に開く (デフォルト)
‘w’ 書き込み用に開き、まずファイルを切り詰める
‘x’ 排他的な生成に開き、ファイルが存在する場合は失敗する
‘a’ 書き込み用に開き、ファイルが存在する場合には末尾に追記する
‘b’ バイナリモード
’t' テキストモード (デフォルト)
‘+’ 更新用に開く (読み込み・書き込み用)

読み込み

read()

ファイル全体を1つの文字列として読み込む。
ファイルが大きい場合はメモリを圧迫する可能性がある。

with open("myfile.txt", "r") as f:
    text = f.read()

readline()

ファイルから1行だけを読み込む。
ファイルの終わりに達すると空の文字列を返す。

with open("myfile.txt", "r") as f:
    line = f.read()

readlines()

ファイル全体を行ごとのリストとして読み込む。
各要素は行末の改行文字を含む。

with open("myfile.txt", "r") as f:
    lines = f.read()

書き込み

write()

文字列をファイルに書き込む。

with open("myfile.txt", "w") as f:
    f.write('Sample')

writelines()

文字列のリストをファイルに書き込む。
各文字列は別々の行として扱われるが、改行は自動的に追加され ない

with open("myfile.txt", "w") as f:
    lines = ["一行目\n", "二行目\n", "三行目\n"]
    f.writelines(lines)

関連記事

  • 【Python】正規表現 reモジュールの使い方
    前提 Python: 3.12 参考 re — Regular expression operations — Python 3.12.3 ドキュメント 基本 import re m = re.search('a.c', 'abcdef') m.group(0) よく使う特殊文字 . 任意の一文字にマッチ a.c は “abc”, “a1c” などにマッチ * 直前の文字の0回以上の
  • 【Python】文字列の基本【定義・結合】
    前提 Python: 3.12 参考 テキストシーケンス型 — str — 組み込み型 — Python 3.12.3 ドキュメント 定義 文字列を定義するには以下の記述方法がある。 シングルクォート' ダブルクォ
  • 【Python】while文の使い方
    前提 Python: 3.12 基本 条件式の値が真(True)の間繰り返し実行する。 while 条件式: 処理 else: 処理 i = 0 while i < 5: if i == 2: i += 1 continue if i == 3: break print(i) i += 1 参考 8.2. while 文 —
  • 【Python】Range関数の使い方
    前提 Python: 3.12 参考 range — 組み込み型 — Python 3.12.3 ドキュメント 4.3. range() 関数 — 4. その他の制御フローツール — Python 3.12.3 ドキュメント range関数とは range関数とは指定し
  • 【Python】リスト(list)の使い方
    前提 Python: 3.12 参考 リスト型 (list) — 組み込み型 — Python 3.12.3 ドキュメント 初期化 l = ['aaa', 'bbb'] 要素を追加する リストの最後に要素を追加する l = ['aaa', 'bbb'] l.append('ccc') print(l) 実行結果 ['aaa', 'bbb', 'ccc'] 指定し