내 (파이썬) 응용 프로그램은 파일을 메모리에로드하고 사용자가 데이터를 점진적으로 편집/저장하도록합니다. 데이터는 대부분 키/값 쌍이므로 JSON을 사용하여 정보를 나타낼 생각이었습니다. 응용 프로그램은 사용자가 데이터에 액세스 할 수있는 유일한 수단이므로 저장된 데이터의 정확한 형식은 응용 프로그램 설계에 의해서만 결정됩니다. 파일 크기가 너무 커지지 않으므로 메모리 부족은 제약이되지 않습니다. 사용자가 "저장"하기로 결정할 때마다 이전 파일을 완전히 지우고 새 데이터를 쓰는 것보다 정보를 디스크에 보존하는 더 좋은 방법이 있습니까?파일 편집 및 저장
0
A
답변
2
개체를 저장할 때마다 개체를 JSON으로 변환하고 디스크에 기록해야합니다. shelve
이 귀하의 필요를 충족시킬 수 있는지 조사하고 싶을 수 있습니다. 당신은
import shelve
db = shelve.open('data.db')
print db['keyname']
db['keyname'] = 'some new user data'
db.sync()
db.close()
shelve
의 가장 큰 장점은 사용의 용이성입니다 ... 키와 같은 문자열을 사용하여 디스크에 사전을 지속하고 필요에 따라 특정 키를 업데이트 할 수 있습니다. 단점은 대용량 파일에 대한 액세스 속도가 느리고 시스템 간 호환성이 없으며 타사 소스의 파일을 신뢰할 수 없다는 점입니다. 따라서 사용자가 서로에게 이메일을 보내거나 네트워크를 통해 콘텐츠를 공유 할 것으로 예상되는 경우 shelve
은 안전한 선택이 아닙니다.
관련 문제
- 1. XML 파일 편집 및 PHP에서 저장
- 2. Python을 사용하여 파일 편집 및 다시 저장
- 3. Matlab에서 Excel 파일 편집 및 저장
- 4. 수백 개의 XML 파일 저장, 편집 및 편집
- 5. Tableviewer 편집 및 저장
- 6. XML 편집 및 저장
- 7. 파일 처리 파일 저장, 편집,보기 및 삭제
- 8. mySQL : my.cnf 파일 편집/저장
- 9. PowerShell을 사용하여 편집 및 저장 및 XML 파일 문제가 발생했습니다.
- 10. WPF : "편집"이미지 저장 및 저장
- 11. Json을 PHP로 편집 및 저장
- 12. JQGrid 편집 선택 및 저장
- 13. jqgrid 편집, 저장 및 숨기기
- 14. 기본 XML 편집 및 저장
- 15. 파일 편집 및 작성하기
- 16. Java Json - 파일 읽기, 파일 값 편집 및 새 편집 내용 저장
- 17. mysql에 파일 편집 또는 사용자 작업 저장
- 18. 파일 저장 및 파일 저장 방법
- 19. C# XDocument 복사 파일 저장 및 끝으로 편집 된 추가
- 20. jar 파일 디 컴파일, 클래스 편집 및 jar 파일로 저장
- 21. 현재 편집 된 파일 목록 저장
- 22. php 이메일 편집 인터페이스 및 저장 방법
- 23. 파일 열기 및 파일 저장
- 24. .dwg 메타 데이터 추출, 편집 및 저장
- 25. 실시간 작업 표 편집 및 저장
- 26. 파일 저장 선택기 - 편집 된 이미지 저장 (C# Metro app)
- 27. 저장 및 텍스트 파일
- 28. 저장 XML 파일 및
- 29. 파일 다운로드 및 저장
- 30. XML 파일 읽기 및 편집
크로스 플랫폼 호환이 아니기 때문에 이것은 내 응용 프로그램의 요구 사항을 충족시키지 못합니다. 그러나, 나의 원래 질문은 아직도 서있다; 이전 파일을 완전히 지우고 새 데이터를 쓰는 것보다 정보를 디스크에 보존하는 더 좋은 방법이 있습니까? – Josh
@Josh 네, 데이터베이스는 이것으로 훌륭합니다. SQLite는'shelve'에 대한 하나의 대안입니다. 이를 키 값 저장소로 사용하고 변경된 레코드 만 업데이트 할 수 있습니다. – ChrisP
정보 주셔서 감사합니다! – Josh