感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

Pythonでファイルの読み込みを行う

<スポンサーリンク>

Pythonで文字列をそのまま扱うraw文字列

ファイルをフルパスで指定する時、「\\」と区切り文字を連続で入力し、エスケープすることはよくやると思う。
Javaでは特にこんなことをやっていた気がする。
rawというのは「未加工の」という意味の形容詞で、raw文字列を使うと、入力した文字そのままの文字列を定義することができる。

raw_str = r"C:\coding\python\test2.txt"

こんな感じで、引用符の前に「r」とつければいい。
そうするとraw文字列として、エスケープなしで文字列を利用できる。

Pythonでファイル操作

Pythonでファイルを操作するためには、組み込み型のファイル型を使う。
まずは超基本的なファイル読み込み。
pythonのファイルと同じフォルダに以下のような、test.txtを配置する。

人間にモテ期というものがあるとすれば、
もしかしたら今はモテ期なのかもしれない

で、それを読み込んで表示するスクリプトはこちら。

# -*- coding: utf-8 -*-
f = open("test.txt","r",encoding="utf-8")
s = f.read()
print(s)
f.close()

標準出力には以下のように表示される。

人間にモテ期というものがあるとすれば、
もしかしたら今はモテ期なのかもしれない

Pythonでファイルを開くにはopen()という関数を使う。
open()は組み込み関数なので、特別な宣言することなく、いつでも利用することができる。

フルパスでファイルの位置を指定する場合は以下のように書く。

# -*- coding: utf-8 -*-
raw_str = r"C:\coding\python\test2.txt"
f = open(raw_str,"r",encoding="utf-8")
s = f.read()
print(s)
f.close()

上で説明したraw文字列だね。

Pythonでファイルを開くときのモード一覧

オプション 説明
r ファイルを読み込むために開く
w ファイルを書き出すために開く。ファイルが既にある場合は、ファイルを空にしてしまう。
a 末尾に追記するためにファイルを開く
r+ ファイルを書き出しと読み込み両方のために開く。存在しないファイルを指定するとエラーになる。
w+ ファイルを読み込みと書き出し両方のために開く。ファイルが存在する場合はファイルを空にしてしまう。
a+ 末尾に追記するためにファイルを開く。読み込み、書き出し共に可能。
b バイナリモードでファイルを開く。rbやwbのように他のモードと合わせて使う。

読んだ本

みんなのPython 第3版

みんなのPython 第3版

感謝のプログラミング

今回で感謝のプログラミングは【633時間目】
10000時間まで、あと【9367時間】