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:テキストモード