Pythonを最近やりはじめたので、自分の備忘録のためにもPythonに関するブログを記載していきたいと思います!
今回は、Pythonでファイルの読み込み・書き込みをするための基礎知識をブログにしたいと思います。
目次
Pythonでファイルの読み込み・書き込みをするときに使うwith open
Pythonでファイルの読み込み・書き込みをする際には、with open()を使うのが良いようです。
よくPythonでPDFをいじるのですが、その際は以下のようにコードを記述します。
with open('test.pdf', "rb") as f:
ここにやりたいことを書く
上のようにコードを記載するとtest.pdf
ファイルを読み込みすることができます。
元々open()
というwith
がないバージョンの関数もあるようなんですが、with
をつけない場合はclose()
という関数を添えてファイル操作を終わらせるという記述を明示的にする必要があるようです。
なのでwith open()
を使った方が余計な記述を増やさずに済む点で便利かもしれないですね!
対象となるファイルの指定
open()
のカッコの第1引数には、開いたり書き込みしたりしたいファイル名を指定します。
test.pdf
と書かれている場合は、実行されているPythonと同一階層にあるtest.pdf
を読み込んだり書き込んだりする、という動作になります。
書き込み・読み込みモードを指定する
open()のカッコの第2引数には、書き込み・読み込みモードのどれにするかを指定します。
代表的なものとしては以下のようなものがあります。
- r・・・読み込みモードでファイルを開く
- w・・・書き込みモードでファイルを開く
- rb・・・読み込みモードでバイナリファイルを開く
- wb・・・書き込みモードでバイナリファイルを開く
といった感じです。
PDFはバイナリファイルに相当するわけですね!
asの右側について
asの右側については、
実例・PyMuPDFと掛け合わせてPDF操作をしてみる
PythonのPyMuPDF
ライブラリを使って、with open()
の実践的な使い方を見てみたいと思います!
with open(uploaded_file.filename, "wb") as temp_file:
temp_file.write(uploaded_file.file.read())
doc = fitz.open(uploaded_file.filename)
上のようにコードを記載すると、アップロードされたファイル(uploaded_file
)をサーバ側で一時ファイルとして書き出し、書き出されたファイルを指定場所に指定した名前で保存します。
そして、その一時ファイルに対して何らかの操作を行う(今回でいうとPyMuPDFライブラリで何らかの操作を行う)という流れになっています。
まとめ
ということで、今回はPythonでファイルの読み込み・書き込みをするための基礎知識(with open)という記事を書いてみました!