"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 객체의 합창을 피클하는 방법: Python의 Pickle을 사용하여 여러 인스턴스를 저장하고 로드합니까?

객체의 합창을 피클하는 방법: Python의 Pickle을 사용하여 여러 인스턴스를 저장하고 로드합니까?

2024년 11월 20일에 게시됨
검색:694

How to Pickle a Chorus of Objects: Saving and Loading Multiple Instances with Python\'s Pickle?

객체 합창 피클: 여러 인스턴스를 저장하고 로드하는 방법

Python의 피클 모듈은 객체를 파일로 직렬화하는 편리한 수단을 제공합니다. , 나중에 사용할 수 있도록 지속성을 활성화합니다. 하지만 여러 객체를 보존해야 하는 시나리오는 어떻습니까? 이 기사에서는 이러한 상황을 처리하는 방법에 대해 자세히 설명합니다.

Pickle 수수께끼: 하나 또는 다수의 이야기

알다시피 피클은 단일 저장에 탁월합니다. 사물. 그러나 이 기능을 여러 개체로 확장하면 다음과 같은 질문이 제기됩니다. 집합적으로 저장할 수 있습니까? 목록이나 다른 접근 방식과 관련된 대안이 있습니까?

Pickle의 힘 수용: 집단 직렬화

안심하세요. pickle의 기능은 단일 파일 내에서 여러 객체를 보존하는 데까지 확장됩니다. 이 앙상블 접근 방식의 핵심은 객체를 반복하고 pickle.dump()를 사용하여 각 객체를 직렬화하는 for 루프에 있습니다.

import pickle

# Sample list of players
players = [Player1, Player2, Player3]

with open('players.pkl', 'wb') as f:
    for player in players:
        pickle.dump(player, f)

피클된 앙상블 검색: 저장된 멜로디 공개

플레이어가 피클된 후 검색은 간단한 역 프로세스입니다. for 루프를 다시 사용하여 피클 파일을 반복하고 pickle.load()를 사용하여 각 객체를 로드합니다.

import pickle

with open('players.pkl', 'rb') as f:
    loaded_players = []
    while True:
        try:
            loaded_players.append(pickle.load(f))
        except EOFError:
            break

Pickle Symphony 최적화: 두 가지 추가

기본적인 접근 방식 외에도 다음 개선 사항을 고려하세요.

  1. 명시적 길이 저장 방지: 사용 파일 끝에 도달할 때까지 객체를 지속적으로 로드하는 생성기가 있어 메모리 소비가 크게 줄어듭니다.
  2. 생성기의 장점: 생성기를 사용하면 메모리 친화적인 증분 로드가 제공되며, 특히 대규모 데이터 세트에 유용합니다.

이러한 기술을 통합하면 피클을 사용하여 여러 개체를 저장하고 로드하는 기술을 마스터하여 소프트웨어를 끊김 없이 지속되는 멜로디의 교향곡.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3