Python | open()でファイルの読み書き

2020-01-23Python,Python ファイル操作

Pythonのopen()でファイルの読み書き

Pythonのopen()を使ったファイルの読み書きの基本的な使い方の紹介です。

open()の基本

基本的な記述

with open(ファイル名,モード) as 変数名:
    # 処理
    変数名.closed

ファイルへのパス

open()でのファイルへのパス指定は、現在のディレクトリに対する相対パスまたは絶対パス。
クォーテーションで括って記述する。

指定可能なモードの種類

open()で指定可能なモードの種類です。

r読み込み(デフォルト)。
ファイルが存在しない場合はエラーとなる。
r+読み込み&書き込み、末尾に追加。
ファイルが存在しない場合はエラーとなる。
w書き込み、上書き(破棄して作成)。
ファイルが存在しない場合は新規作成。
w+読み込み&書き込み、上書き(破棄して作成)。
ファイルが存在しない場合は新規作成。
read()できるが既にない。
a書き込み、末尾に追加。
ファイルが存在しない場合は新規作成。
a+読み込み&書き込み、末尾に追加。
ファイルが存在しない場合は新規作成。
xファイルが存在しない場合のみ新規作成。
Python3.x~

バイナリモードは’rb’や’w+b’などで指定可能。

tテキストモード(デフォルト)
bバイナリモード

モードはクォーテーションで括って記述します。

open()で使われる処理

read()読み込み
readline()一行ずずリスト型で読み込む
readlines()リスト型で読み込む
write()書き込み
writelines()リスト型の書き込み
closedファイルを閉じる

テキストファイルを読み込む

open()を使い、読み込みモード(r)で開いてread()で取得するサンプルコードです。

with open('sample.txt','r') as file:
    text = file.read()
    print(text)
file.closed

テキストファイルに書き込む

open()を使い、書き込みモード(w)でファイルを開いてwrite()で書き込むサンプルコードです。

※wでの書き込みは上書き(破棄して新規作成)モードになります。

with open('sample.txt', 'w') as file:
    file.write('text')
file.closed

テキストファイルを読み込んで書き込む

読み込み&書き込みモード(r+)で開いて、read()で読み込み、write()で書き込むサンプルコードです。

※r+での書き込みは追記モードになります。

with open('sample.txt','r+') as file:
    log = file.read()
    print(log)
    file.write('text')
    file.closed

open()に関連するエラー

No such file or directory

そのようなファイルまたはディレクトリはありません。

存在しないファイルよ読み込みモードで開こうとしている。

File not open for reading

読み取りファイルが開いていません

指定のファイルが開いていないか、読み取りモードで開かれていない。
または読み取りモードで開かれていたが、既に.closedで閉じられている。

File not open for writing

書き込み用に開いていないファイル

ファイルが書き込みモードで開かれていない時に発生する。

expected a character buffer object

文字バッファーオブジェクトが必要

処理を実行する為には、値が文字列である必要がある。

count = 2
file.write(count) #エラーとなる
file.write(str(count)) #OK

2020-01-23Python,Python ファイル操作

Posted by Yousuke.U