pickle 로 Python 의 원생 대상 을 저장 하 는 방법

1528 단어 pythonpickle기억
Python 에 데 이 터 를 파일 에 저장 할 때 간단 한 방법 은 open 함수 로 파일 기록 작업 을 수행 하 는 것 입 니 다.그러나 이렇게 하면 파일 내용 을 다시 읽 으 려 면 형식 이 일치 하지 않 는 경우 가 발생 합 니 다.읽 는 것 은 모두 문자열 형식 이기 때문에 형식 변환 이 필요 합 니 다.이렇게 하면 간결 하지 않 습 니 다.
또는 eval 함 수 를 사용 하여 문자열 을 대상 으로 변환 합 니 다.그러나 때로는 너무 강해 서 Python 의 모든 표현 식 을 실행 하고 시스템 의 정상 적 인 작업 을 위협 하 는 표현 식 을 만 듭 니 다.이렇게 하면 안전 하지 않 습 니 다.
Python 원생 대상 을 저장 하고 싶 지만 파일 의 데이터 원본 을 신뢰 할 수 없다 면 pickle 모듈 은 이상 적 인 선택 이 될 것 입 니 다.
pickle 모듈 은 파일 에 거의 모든 Python 대상 을 직접 저장 할 수 있 는 고급 도구 입 니 다.문자열 을 변환 하 라 고 요구 하지 않 습 니 다.마치 슈퍼 통용 데이터 포맷 과 분석 도구 와 같 습 니 다.
demo.py:

D = {'name':'Allen', 'age':21}
f = open('p_data.pkl','wb')
import pickle
pickle.dump(D,f)
f.close()

f=open('p_data.pkl','rb')
e=pickle.load(f)
print(e)
print(type(e))

콘 솔 출력:

{'name': 'Allen', 'age': 21}
<class 'dict'>
[Finished in 0.4s]

그리고 지정 한 경로 에서 p 를 생 성 합 니 다.data.pkl 파일:

8003 7d71 0028 5804 0000 006e 616d 6571
0158 0500 0000 416c 6c65 6e71 0258 0300
0000 6167 6571 034b 1575 2e

콘 솔 알림'attributeError:'module'object has no attribute'dump'라면 파일 이름 이'pickle.py'이기 때 문 일 수 있 습 니 다.내 장 된 모듈 파일 과 이름 을 바 꾸 면 됩 니 다.바 꾸 면 됩 니 다.
파 이 썬 의 네 이 티 브 대상 을 pickle 로 저장 하 는 방법 은 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.참고 하 시고 많은 응원 부 탁 드 리 겠 습 니 다.

좋은 웹페이지 즐겨찾기