python 3 shelve 모듈 에 대한 상세 한 설명

2663 단어
python 3 shelve 모듈 에 대한 상세 한 설명
프로필
python 3 에서 저 희 는 json 이나 pickle 의 지속 적 인 데 이 터 를 사용 합 니 다. dump 는 여러 번 사용 할 수 있 지만 load 는 한 번 만 사용 할 수 있 습 니 다. 이전 데 이 터 는 뒤의 dump 데이터 에 의 해 덮어 졌 기 때 문 입 니 다.만약 우리 가 dump 와 load 를 여러 번 실현 하고 싶다 면, shelve 모듈 을 사용 할 수 있 습 니 다.shelve 모듈 은 모든 pickle 이 지원 하 는 데이터 형식 을 영구적 으로 유지 할 수 있 습 니 다.
2. 지구 화 데이터
1. 데이터 영구 화

import shelve
import datetime
 
info = {'name': 'bigberg', 'age': 22}
name = ['Apoll', 'Zous', 'Luna']
t = datetime.datetime.now()
 
with shelve.open('shelve.txt') as f:
  f['name'] = name  #      
  f['info'] = info     #      
  f['time'] = t      #        
  

코드 를 실행 하면 3 개의 파일 이 생 성 됩 니 다: shelve. txt. bak, shelve. txt. dat, shelve. txt. dir.
shelve. txt. bak 의 내용

'info', (512, 45)
'name', (0, 42)
'time', (1024, 44)

shelve.txt.dat  

�]q (X  ApollqX  ZousqX  Lunaqe.                                                                                                                                                                                                                                           �}q (X  ageqKX  nameqX  bigbergqu.                                                                                                                                                                                                                                          �cdatetime
datetime
q C
�"
2�q�qRq.

shelve. txt. dir 의 내용

'info', (512, 45)
'name', (0, 42)
'time', (1024, 44)

2. 데이터 읽 기
우 리 는 get 을 사용 하여 데 이 터 를 가 져 옵 니 다.

import shelve
 
with shelve.open('shelve.txt') as f:
  n = f.get('name')
  i = f.get('info')
  now = f.get('time')
 
print(n)
print(i)
print(now)
 
#  
 
['Apoll', 'Zous', 'Luna']
{'age': 22, 'name': 'bigberg'}
2017-07-08 11:07:34.865022
 

1. shelve 모듈 은 간단 한 key 이 고 value 는 메모리 데 이 터 를 파일 을 통 해 지속 시 키 는 모듈 입 니 다.
2. shelve 모듈 은 pickle 이 지원 할 수 있 는 python 데이터 형식 을 영구적 으로 유지 할 수 있 습 니 다.
3. shelve 는 pickle 모듈 의 패키지 입 니 다.
4. shelve 모듈 은 여러 번 dump 와 load 를 할 수 있 습 니 다.
 읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다. 본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기