Pythonでファイルを読み書きするサンプルです.

目次

  1. ファイルオープン
  2. 読み込み
  3. 書き込み
  4. JSON
    1. Web APIの例

ファイルオープン

with open("ファイルパス", "r", encoding="utf_8") as f:
#処理

rでなく

  • wで書き込み,r+で読み書き
  • aでアペンド,a*で読み込み&アペンド

エンコーディングをShift-JISにするならshift_jisで.

読み込み

  • 全文取得:f.read()
  • 各行をリストとして取得:f.readlines()
  • 1行ずつ取得:f.readline()

次の場合,変数に読み込んだ各行が当てられる.

with open('ファイル名', 'r') as ファイルオブジェクト名:
for 変数 in ファイルオブジェクト名:
処理 #変数が各行となっている

書き込み

  • f.write(テキスト)で書き込む.
  • リストを1つずつ(改行なく)書き込むには,f.writelines(リスト)とする.

JSON

import json
with open('ファイル名', 'r') as ファイルオブジェクト名:
変数 = json.load(ファイルオブジェクト名)

with open('ファイル名', 'w') as ファイルオブジェクト名:
json.dump(変数, ファイルオブジェクト名, indent=インデント)

Web APIの例

次の流れで進む,Web APIの例.

  1. JSON形式のファイルが置かれたURLを訪ね,文字列を取得する.
  2. UTF-8にデコードする.
  3. その文字列(ファイルではない)をjson.loads()で読み取る.
import json
import urllib.request

try:
url = 'JSONファイルの置かれたURL'
res = urllib.request.urlopen(url)
data = json.loads(res.read().decode('utf-8'))
# 処理
except urllib.error.HTTPError as e:
print('HTTPError: ', e)
except json.JSONDecodeError as e:
print('JSONDecodeError: ', e)