Python 檔案讀寫 序列化 反序列化和JSON

2021-10-25 09:40:09 字數 1532 閱讀 9380

①讀檔案:

f =

open

('/users/michael/test.txt'

,'r'

)#開啟檔案

f.read(

)#讀檔案

f.close(

)#關閉檔案

②由於檔案讀寫時都有可能產生ioerror,一旦出錯,後面的f.close()就不會呼叫。所以,為了保證無論是否出錯都能正確地關閉檔案,我們可以使用try ... finally來實現:

try

: f =

open

('/path/to/file'

,'r'

)print

(f.read())

finally

:if f:

f.close(

)

簡化:和前面的try ... finally是一樣的,但是**更佳簡潔,並且不必呼叫f.close()方法。

with

open

('/path/to/file'

,'r'

)as f:

print

(f.read())

#注意縮排

③讀取二進位制檔案(rb讀取):

with

open

('e:/自主學習/python/test.bmp'

,'rb'

)as f:

print

(f.read(

))

with

open

('/users/michael/test.txt'

,'w'

)as f:

#檔案會覆蓋

f.write(

'hello, world!'

)with

open

('e:/自主學習/python/test.txt'

,'a'

)as f:

#追加填寫

f.write(

'\nhello, world!'

)

stringio和bytesio:在記憶體中讀寫str和bityes資料

操作檔案和目錄:在不同系統中操作檔案和目錄

序列化:把變數從記憶體中變成可儲存或傳輸的過程稱之為序列化,在python中叫pickling。

反序列化:反過來,把變數內容從序列化的物件重新讀到記憶體裡稱之為反序列化,即unpickling。

①序列化之後,就可以把序列化後的內容寫入磁碟,或者通過網路傳輸到別的機器上。

json:如果我們要在不同的程式語言之間傳遞物件,就必須把物件序列化為標準格式,比如xml,但更好的方法是序列化為json,因為json表示出來就是乙個字串,可以被所有語言讀取,也可以方便地儲存到磁碟或者通過網路傳輸。

Python 序列化和反序列化

在spark中使用廣播變數時,選擇合適的序列化格式是非常重要的。這裡重點講的是python中的序列化。1.序列化和反序列化 序列化就是把資料變成可儲存或可傳輸的過程的,只有序列化後的資料才可以寫入到磁碟或者通過網路傳輸到spark集群的其他節點上。反序列化則相反,反序列就是把序列化的變數重新轉到記憶...

python序列化和反序列化

序列化和反序列化 程式執行的過程中,所有變數都是在記憶體中操作的,當程式一旦執行完畢,結束退出後,變數占有的記憶體就被作業系統 了。因此我們需要將某些資料持久化儲存到磁碟中,下次執行的時候從磁碟中讀取相關資料。我們將變數從記憶體中變成可以儲存或傳輸的過程稱之為序列化,在python中叫做pickli...

Python序列化與反序列化

序列化 將python裡的基本型別如字典 列表 陣列等序列化為字串 反序列化 將字串反序列化為python裡的基本型別如字典 列表等 常用 json r requests.get 杭州 r.encoding utf 8 print r.text print dic json.loads r.text...