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
ディスカッション
コメント一覧
まだ、コメントがありません