以前のリビジョンの文書です
基本形2の場合、withブロックの終了時、暗黙的にclose()が実行されため、close()の呼び出しが不要となる。
# 基本形1 f = open("ファイル名", "モード") # ファイルオープン l = f.readlines() # ファイル操作 f.close() # ファイルクローズ # 基本形2 with open("ファイル名", "モード") as f # ファイルオープン l = f.readlines() # ファイル操作
省略した場合、“rt”が適用される
| モード | 説明 |
|---|---|
| r | 読み込み。 |
| w | 書き込み。 |
| x | 新規作成。ファイルが存在する場合、エラーとなる。 |
| a | 追記書き込み。 |
| + | 読み書き両方。 |
| t | テキストファイル。r,w,x,a,+と組み合わせて指定。 |
| b | バイナリファイル。r,w,x,a,+と組み合わせて指定。 |
| メソッド | 説明 |
|---|---|
| read() | 終端まで読み込む。 |
| read(長さ) | 指定した長さだけ読み込む。 |
| readline() | 1行読み込む。 |
| readline(長さ) | 指定した長さだけ1行読み込む。 |
| readlines() | 1行ずつリストにし、全量読み込む。 |
| seek(先頭からの位置) | 指定した場所に読み込み位置を移動する。 |
| tell() | 現在の読み込み位置を取得する。 |
| truncate(長さ) | ファイルを指定した長さに切り捨てる。長さ省略時、ファイルの内容を全削除する。 |
| write(データ) | データを書き込む。 |
| writelines(リスト) | リストで構成されたデータを書き込む。 |
# 1行毎にリストにして読み込み with open("test.txt") as f: l = f.readlines() print(l) # 1行ずつ読み込み with open("test.txt") as f: while True: l = f.readline() print(l) if not l: break