041 檔案 持久化

2022-08-28 18:30:10 字數 2807 閱讀 3792

>>> 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 用於...