Python讀寫文件
Python通常使用open(name[, mode[, buffering]])
指定文件名、操作模式、編碼信息等對文件進行讀寫。其中mode
指打開文件的模式:
操作模式 | 含義 |
---|---|
r |
以只讀方式打開文件。文件的指針將會放在文件的開頭。這是默認模式。 |
w |
寫入,會截斷之前寫入的內容 |
x |
寫入,如果文件已經存在會產生異常 |
a |
追加,將文件寫入原有文件的末尾 |
b |
二進制模式 |
t |
文本模式(默認) |
+ |
更新,既可以讀又可以寫 |
舉個例子
def main():
f = open('致橡樹.txt', 'r', encoding='utf-8')
print(f.read())
f.close()
if __name__ == '__main__':
main()
python文件編碼說明:#-*-coding:gbk-*-
在讀寫文件時,通過encoding
函數指定編碼
Python異常機制
def main():
try:
with open('read.txt','r',encoding='utf-8') as f:
print(f.read())
except FileNotFoundError:
print('無法打開指定文件')
except LookupError:
print('指定了未知的編碼')
except UnicodeDecodeError:
print('讀文件時解碼錯誤')
if __name__ == '__main__':
main()
- FileNotFoundError 無法找到文件
- LookupError 指定未知的編碼
- UnicodeDecodeError 讀取文件時沒有按指定的編碼解碼
Python讀寫json文件
json中數據類型與Python中數據類型的對應關係
Json | Python |
---|---|
object | dict |
array | list |
string | str |
number(int/real) | int/float |
true/false | True/Flase |
null | None |
Json模塊主要的四個比較重要的函數:
dump |
將python對象按照Json格式序列化到文件中 |
---|---|
dumps |
將python對象處理成Json格式的字符串 |
load |
將文件中的Json數據反序列化成對象 |
loads |
將字符串的內容反序列化成Python對象 |
序列化(serialization)
在計算機科學的數據處理中,是指將數據結構或對象狀態轉換爲可以存儲或傳輸的形式,這樣在需要的時候能夠恢復到原先的狀態,而且通過序列化的數據重新獲取字節時,可以利用這些字節來產生原始對象的副本(拷貝)。與這個過程相反的動作,即從一系列字節中提取數據結構的操作,就是反序列化(deserialization)