Tôi nghĩ bạn nên cân nhắc sử dụng shelve
mô-đun cung cấp các đối tượng giống như từ điển được hỗ trợ tập tin. Thật dễ dàng để sử dụng thay cho từ điển "thực" vì nó gần như cung cấp cho chương trình của bạn một thứ gì đó có thể được sử dụng giống như từ điển, mà không cần phải chuyển đổi nó thành một chuỗi và sau đó ghi vào một tệp (hoặc ngược lại) ngược lại).
Sự khác biệt chính là cần phải ban đầu open()
trước khi sử dụng lần đầu tiên và sau đó close()
là khi bạn hoàn thành (và có thể sử dụng sync()
nó, tùy thuộc vàowriteback
sử dụng tùy chọn được sử dụng). Bất kỳ đối tượng tệp "kệ" nào tạo ra đều có thể chứa từ điển thông thường làm giá trị, cho phép chúng được lồng vào nhau một cách hợp lý.
Đây là một ví dụ tầm thường:
import shelve
shelf = shelve.open('mydata') # open for reading and writing, creating if nec
shelf.update({'one':1, 'two':2, 'three': {'three.1': 3.1, 'three.2': 3.2 }})
shelf.close()
shelf = shelve.open('mydata')
print shelf
shelf.close()
Đầu ra:
{'three': {'three.1': 3.1, 'three.2': 3.2}, 'two': 2, 'one': 1}