Pythonでファイルの読み書きを行う
Pythonでファイルの読み書きを行ってみます。
フォルダ構成はこちらです。
service.file_operation_service.py
class FileOperationService: def __init__(self, name): self.name = name print("FileOperationService is created") def file_read(self): try: text = open("C:\\0.dev\\sample.txt", encoding="utf-8") contents = text.read() finally: text.close() print(contents) def file_write(self): try: file = open("C:\\0.dev\\write.txt", mode="w", encoding="utf-8") file.write("僕の名前はキラだ \n") file.write("私の名前はLだ \n") file.write("私はニアだ \n") finally: file.close() def file_write2(self, fileName): with open(fileName, mode="w") as f: f.write("信頼せよ。\n") f.write("そうすれば彼らはあなたに正直になる\n")
withを使っても使わなくてもファイル処理は賭けますが、with構文を使うことで、try~finallyを使うことなく、自動的に処理の最後にclose()メソッドを呼んでくれます。
次に上のサービスを実行するスクリプトです。
from service.file_operation_service import FileOperationService fileService = FileOperationService("test") fileService.file_read() fileService.file_write() fileName = "C:\\0.dev\\write2.txt" fileService.file_write2(fileName)
open()関数のmode引数に与える値は以下のとおりです。
w:書き込みモード
r:読み込みモード(デフォルト)
a:書き込み用に開き、ファイルが存在すれば末尾に追記
b:バイナリモード
t:テキストモード