計算機存儲分爲運行內存和硬盤存儲
運行內存是用來存儲程序運行過程當中產生的數據,程序結束,數據銷燬
硬盤存儲的文件則一直存在python
文本文件: txt, json(先後端), plist(頁面), 數據庫文件
二進制文件: 圖片文件: png, jpg... ;音頻文件: mp3, wav...; exe文件等數據庫
文件內容操做基本步驟 : 打開文件 -> 操做文件(讀, 寫) -> 關閉文件json
open(file, mode='r', encoding=None)
open(文件地址, 讀寫方式, 文本編碼方式) - 以指定方式打開指定文件返回文件對象
說明:
file ------> 文件路徑(相對路徑或絕對路徑)
相對路徑: ./ - 表示當前目錄
../ - 表示當前目錄的上層目錄
mode ------> 文件打開方式,決定打開文件後的操做權限(讀-r , 寫-w)操做文件的數據類型(文本-t, 二進制-b)
文本文件在讀取的時候能夠用rt, rb,可是二進制文件只能用rb讀取
a - 只寫(a和w的區別就是,a打開文件不會刪除源文件,w會)
>>> a和w打開文件的時候,若文件不存在,會建立新文件
r打開文件時,若文件不存在,報錯
encoding - 文本文件編碼方式,只能用t打開文本文件的時候才能賦值
通常採用'utf-8'的編碼方式編碼,保證同一文件讀和寫的編碼方式同樣後端
a.讀操做
文件對象.read() - 讀指定文件,返回文件中的內容(全部文件)
文件對象.readline() - 讀指定文件的1行內容(只支持文本文件)
文件對象.close() - 關閉操做好的文件
文件讀完以後,光標會停在最後讀取的位置,再繼續讀取的話接着上次的位置繼續
b.寫操做
文件對象.write(內容) - 將指定的功能寫入到指定的文件中數組
o3 = open(r'../test/詩.txt', 'r', encoding='utf-8') while True: line = o3.readline() if not line: break print(line)
1).須要持久化的數據要存到文件中
2).須要數據的時候不直接賦值,從文件中讀取數據
3).若數據的值發生改變,則將新數據更新到文件中編碼
# 在程序中用一個變量來記錄當前程序啓動的次數 # count f = open(r'../test/num.txt', 'r', encoding='utf-8') count = int(f.read()) print(count) count += 1 f = open(r'../test/num.txt', 'w', encoding='utf-8') f.write(str(count)) f.close()
with open(文件路徑,打開方式,編碼方式) as 文件對象
文件路徑能夠是絕對路徑也能夠是行對路徑
相對路徑中 ./ 表明當前目錄 ; ../ 表明當前目錄的上層目錄,依次類推code
當一個字符串內是一個完整的其餘容器(列表,字典,集合,元組)時,eval(字符串)可將字符串轉換成相應的容器對象
str1 = '[1, 2, 3, 4]' re1 = eval(str1) print(re1, type(re1)) str2 = "{'name': 2, 'age': 4}" re2 = eval(str2) print(re2, type(re2))
json模塊是python中專門用來支持json數據的模塊圖片
json是一種數據格式,專門用來解決各個計算機語言間數據不能互通的問題內存
json支持的數據類型:
json ------> python
數據 ------> int/float
字符串 ------> 字符串;雙引號可能變爲單引號
布爾 ------> 布爾:True/False
null ------> None
數組 ------> 列表
字典 ------> 字典
json.loads(字符串) ------> 將json字符串轉換成python的字符串
注意:要求字符串內的內容必須是json格式的數據
result = json.loads('1') print(result, type(result)) result = json.loads('[123, "ads", true]') print(result, type(result)) result = json.loads('{"name": "an", "age": 20}') print(result, type(result))
python ------> json
int/float ------> 數字
字符串 ------> 字符串;單引號變成雙引號
布爾值 ------> 布爾值;true/false
None ------> null
列表/元組 ------> 數組
字典 ------> 字典
json.dumps(數據) ------> 將python數據轉換成json類型的python字符串
result = json.dumps(100) print([result]) result = json.dumps((10, 'ahs', False)) print(result)