dict.clear()
는 (윈도우 7 64 비트 파이썬 3.5.2) 가장 쉬운 방법이며, 유효해야하지만 실제로 선반 파일을 삭제하지 않는 것 같다. 나는 항상 같은 크기로 기대 예를 들어, 선반 .dat
파일 크기, 나는 다음 코드를 실행할 때마다 증가 :
shelf = shelve.open('shelf')
shelf.clear()
shelf['0'] = list(range(10000))
shelf.close()
업데이트 : shelve
과 같이 사용dbm.dumb
그 Windows에서 데이터베이스를 기본이 TODO 항목 in its code 포함
- 무료 공간을 확보를 (현재, 공간은 한 번 점령 삭제되거나 확장 된 항목은 다시 사용하지 않음)
이는 계속 증가하는 선반 파일 문제를 설명합니다.
그래서 대신 dict.clear()
, 나는
flag='n'
와
shelve.open
을 사용하고 있습니다.
shelve.open()
documentation 인용 :
옵션 플래그 매개 변수는 dbm.open의 플래그 매개 변수와 같은 해석이있다().
그리고
dbm.open()
documentation
flag='n'
을 위해 :
이
항상 읽기 오픈 선반이 이미 열려있는 경우
를 작성 비어있는 새 데이터베이스를 생성, 사용은 다음과 같습니다
파일을 삭제하지 않는 이유는 무엇입니까? –
'dict = { "foo": "bar"}'는'dict [ "foo"] = "bar"'이어야한다는 것에주의하십시오. 이제는 선반 객체에 데이터를 삽입하지 않고 선반을 변경하지 않고 새로운 사전 객체에 'dict'을 지정합니다. – george