>>> import pickle # 下面的例子就不重複這個匯入操作了
>>>
「醃製泡菜」>>> age = 18
>>> with open("text.txt", "wb") as f:
... pickle.dump(age, f)
>>>
# text.txt
€k.
「取出泡菜」>>> f = open("text.txt", "rb") # 這裡用二進位制是必要的
>>> f.readline()
b'\x80\x03k\x12.'
>>> f.seek(0)
0>>> pickle.load(f)
18>>>
序列化>>> lst = [18, 19, 20, "york", "fish", [2, 3]]
>>> with open("text.txt", "wb") as f:
... pickle.dump(lst, f)
...>>>
反序列化>>> with open("text.txt", "rb") as f:
... pickle.load(f)
...[18, 19, 20, 'york', 'fish', [2, 3]]
>>>
pickle
幾乎可以把所有 python 的物件都轉換為二進位制的形式存放
用pickle
序列化,需要以二進位制開啟
若要將pickle
後的內容儲存為檔案,推薦以.pkl
或.pickle
為字尾
>>> import shelve # 下面的例子就不重複這個匯入操作了
>>>
>>> shv = shelve.open("shv.db")
>>> shv["one"] = 1
>>> shv["two"] = 2
>>> shv["three"] = 3
>>> shv.close()
>>>
>>> shv = shelve.open("shv.db")
>>> try:
... print(shv["one"])
... print(shv["four"])
... except keyerror as e:
... print(e)
... finally:
... shv.close()
...1
b'four'
>>>
寫回問題
>>> shv = shelve.open("shv.db", flag='r')
>>> try:
... k = shv["one"]
... print(k)
... finally:
... shv.close()
...1
>>>
>>> shv = shelve.open("shv.db")
>>> try:
... shv["one"] =
... finally:
... shv.close()
...>>> shv = shelve.open("shv.db")
>>> try:
... one = shv["one"]
... print(one)
... finally:
... shv.close()
...>>>
問題>>> shv = shelve.open("shv.db")
>>> try:
... k = shv["one"]
... print(k)
... k['a'] = 97
... finally:
... shv.close()
...>>>
解法>>> shv = shelve.open("shv.db", writeback=true)
>>> try:
... k = shv["one"]
... print(k)
... k['a'] = 97
... finally:
... shv.close()
...>>> shv = shelve.open("shv.db")
>>> try:
... print(shv["one"])
... finally:
... shv.close()
...>>>
>>> with shelve.open("shv.db", writeback=true) as shv:
... print(shv["one"])
... shv["one"]['a'] = 0
...>>> with shelve.open("shv.db") as shv:
... print(shv["one"])
...>>>
持久化 檔案
一 檔案 長久儲存資訊的一種資料資訊集合 開啟檔案,用寫的方式 r表示後面字串內容不需要轉義 f稱之為檔案控制代碼 f open r test01.txt w 檔案開啟後必須關閉 f.close 1.with語句開啟檔案 用with語句開啟檔案,不需要關閉 with open r test01.tx...
1 檔案測試 2 檔案操作
1 檔案測試函式 2 檔案操作 新建檔案 fopen filename,w 以 寫 的方式開啟乙個不存在的檔案,就會新建該檔案 檔案刪除 unlink 檔案複製 copy filename,aaa bb.txt 盡量使用 和相對路徑,因為linux只認 也沒有磁碟分割槽,而windows 和 都認 ...
持久化檔案操作
python對於檔案都採用預設的操作步驟 開啟 操作 關閉,對檔案進行操作之後一定要關閉它,關閉檔案將對檔案釋放控制權使檔案恢復儲存狀態,此時另乙個程序可以操作這個檔案。檔案的常見開啟方式 方式意義 r唯讀開啟 w只寫開啟 如果檔案不存在,則會建立改檔案 檔案存在,則會清空該檔案的內容 rba 用於...