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