Python pickleモジュールと



pickle


Pythonオブジェクト構造をバイトストリームに変換して保存できます.これは、Python内のすべてのオブジェクトを保存できることを意味します.
pickleに格納されているコンテンツのプログラムでの実行速度も非常に速い.このファイルを常に制御する必要はありません.
pickleを使用してファイルを保存し、変数にロードして保存して使用できます.

構文

  • dumpを使用してファイル
  • を保存
    import pickle
    profile_file = open("profile.pickle", "wb") # pickle을 사용시에는 꼭 b 옵션으로 바이너리로 설정 해주어야 합니다.
    profile = {"이름": "박명수", "나이":30, "취미":["축구","골프","골프"}
    
    print(profile)
    pickle.dump(profile, profile_file) #profile에 있는 정보를 file에 저장
    profile_file.close()
  • loadを使用してファイル
  • をロード
    profile_file = open("profile.pickle", "rb")
    profile = pickle.load(profile_file) # file에 있는 정보를 profile에 불러오기
    print(profile)
    profile_file.close()
  • with
    ファイルを処理する場合は、(open)ファイルを開いてから(close)ファイルを閉じる必要があります.しかし、コードが複雑になるにつれて、開発者がファイルを閉じずにファイルを開くエラーが発生する可能性があります.with ... as構文を使用すると、ファイルを開き、構文の終了時に自動的に閉じることができ、これらのエラーを減らすことができます.
  • import pickle
    
    with open("profile.pickle", "rb") as profile_file:
        print(pickle.load(profile_file))
    
        # 위 코드는 close함수가 없지만 with as 구문을 빠져나가게 되면 자동으로 close() 함수를 호출하여 파일을 닫습니다.

    テスト


    Quiz)あなたの会社は毎週レポートを記入する必要があります.
    レポートは常に次の形式で出力する必要があります.
    毎週レポート-
    部門:
    名前:
    業務概要:
    最初の週から50週目までのレポートファイルを作成するプログラムを作成してください.
    条件:ファイル名は「第1週目」です.「txt」、「2週目.txt', ... とともに作成します.
    for i in range(1, 51):
        with open(str(i) + " 주차.txt", 'w', encoding='utf8') as report_file:
            report_file.write("- {0} 주차 주간보고 -".format(i))
            report_file.write("\n부서 :")
            report_file.write("\n이름 :")
            report_file.write("\n업무 요약 :")