對應第十章
如果檔案內容不是逐行輸出則會輸出列表形式。
try
:with
open
('d:\\pycharmprograms\\pi.txt'
)as f:
contents=f.readlines(
)except filenotfounderror:
print
("filenotfounderror"
)else
:print
(contents)
>>
>
['3.1415926535\n'
,' 8979323846'
]
json資料格式的列表最後一行沒有/n
import json
try:
with
open
('d:\\pycharmprograms\\pi.txt'
)as f:
contents=f.readlines(
)except filenotfounderror:
print
("filenotfounderror"
)else
:with
open
('d:\\pycharmprograms\\pi.json'
,'w'
)as f:
json.dump(contents,f)
>>
>
["3.1415926535\n"
," 8979323846"
]
questions:
並不是,程式中使用了方法readlines(),該方法返回乙個列表
open()函式完整的語法格式為:
open
(file
, mode=『r』, buffering=
none
, encoding=
none
, errors=
none
, newline=
none
, closefd=
true
)
encoding:所要開啟檔案的編碼格式讀取檔案的時候,如果編碼不對,會報錯列如filename=『data.csv』(該檔案的編碼格式是utf-8)
open(filename,encoding=『gbk』)(呼叫函式時用的是gbk編碼)會出現類似以下報錯unicodedecodeerror: 'gbk' codec can't decode byte 0xac in position 423: illegal multibyte sequence
正確的開啟方式是open(filename,encoding=『utf-8』)
讀取時如果不指明編碼格式,預設使用locale.getpreferredencoding()函式返回的編碼方式。
Python學習筆記(八)
二 字串 1 概述 pickle模組為python物件結構的序列化和反序列化實現了乙個基本但強大的演算法。pickling 是將python物件層次結構轉換為位元組流的過程,unpickling 是相反的操作,即位元組流轉換回物件層次結構。2 常用方法 1 序列化為字串 pickle.dumps o...
Python學習筆記(八)異常
8異常 8.1什麼是異常 python用異常物件來表示異常情況。每乙個異常都是一些類的例項,這些例項可以被印發,並且可以用很多種方法進行捕捉並且對其進行處理,而不是讓整個程式失敗。8.2按自己的方式出錯 8.2.1raise語句 為了引發異常,可以使用乙個類 可以是exception的子類 或者例項...
Python學習筆記(八)異常
life is short,you need python bruce eckel environment 程式執行過程中可能碰到各種各樣的異常,如果未預設處理方式,程式將中斷執行。這裡記錄一些 python 中異常處理的內容。python 所有內建異常類參考python官方文件的內容,中文內容總結...