2019-08-06總結(jié)

1.保存在程序中的數(shù)據(jù)是保存在運(yùn)行內(nèi)訓(xùn)的,當(dāng)程序運(yùn)行結(jié)束時(shí),內(nèi)存自動釋放,數(shù)據(jù)也會消失;
如果不希望數(shù)據(jù)伴隨著程序的結(jié)束而消失,就需要將數(shù)據(jù)通過文件存儲到硬盤中。
程序中經(jīng)常用來保存數(shù)據(jù)的格式有:數(shù)據(jù)庫文件(bd.sqllite),json文件,plist文件,txt文件,png,jpg,jpeg,gif,mp3,mp4,avi,mov etc.
2.文件操作(操作文件中的內(nèi)容)
步驟:打開文件,操作文件內(nèi)容(讀操作,寫操作),關(guān)閉文件
打開文件:open(file,mode="r",encoding=None)
file:字符串;文件在電腦中的地址(文件路徑/絕對路徑(文件在電腦中的完整路徑)/相對路徑(py文件所在的目錄))./代表當(dāng)前目錄
../代表當(dāng)前py文件的上層目錄,一般情況下寫相對路徑
mode:字符串,文件打開的方式;決定打開文件后能夠?qū)ξ募鍪裁?,以及讀寫的數(shù)據(jù)類型;
“r”:只能讀,不能寫;讀出來字符串,equal “rt”;“rb”:以只讀的方式打開文件,讀出2進(jìn)制文件
“w,wt,tw”:以寫的方式修改文件中的內(nèi)容;寫進(jìn)去的只能是字符串;“wb”以只寫的方式打開文件,將2進(jìn)制內(nèi)容寫入文件,打開原文件的時(shí)候回清空原文件。
“a”,“at”:以只寫的方式修改文件中的內(nèi)容,在原文件末尾寫入文件。
encoding:只對文本文件有效,設(shè)置文本文件的編碼方式;"utf-8",編碼的方式和解碼方式要一致。只針對文本文件的操作有效,對帶b的文件時(shí),encoding不能設(shè)置。
讀操作:文件對象.read()獲取整個(gè)文件的內(nèi)容,以字符串或者2進(jìn)制的形式返回
文件對象.readline()獲取文件中一行的內(nèi)容,以字符串或者2進(jìn)制的形式返回
文件對象.readlines()
文件操作的時(shí)候從游標(biāo)的時(shí)候開始操作,所有一行只能讀一次,讀完所有文件,光標(biāo)跑到文件末尾。參考迭代器。。。文件名.seek(0):移動光標(biāo)到開頭
關(guān)閉文件:文件名.close()
寫操作:對象.write(內(nèi)容):將內(nèi)容寫入到制定的文件中;
3.with open() as 文件對象:
語法:with open(file,mode="“,encoding=None) as 文件對象:
文件作用域(操作文件)
作用:打開文件,在文件作用域中對文件進(jìn)行操作,離開文件作用域文件自動關(guān)閉。
異常:如果以讀的方式打開一個(gè)不存在的文件,python會報(bào)錯。
如果以寫的方式打開一個(gè)不存在的文件,不會出現(xiàn)異常,并且會創(chuàng)建一個(gè)新的文件。
4.二進(jìn)制文件的讀寫
普通文本文件可以使用帶t或者帶b的讀寫方式去打開
二進(jìn)制數(shù)據(jù)文件:視頻,音頻,圖片都是二進(jìn)制文件,這些文件只能用帶b的打開方式打開
5.數(shù)據(jù)持久化
將數(shù)據(jù)保存到本地
需要這個(gè)數(shù)據(jù)不是直接賦值而是從文件中取值
當(dāng)數(shù)據(jù)值發(fā)生改變的時(shí)候,將最新的數(shù)據(jù)更新到文件中
6.json文件
eval()可以將字符串轉(zhuǎn)換為字典,將字符串中的雙引號暴力打開,取出字典
json是一種通用語言,幾乎所有的高級語言都可以克制json數(shù)據(jù)轉(zhuǎn)化成當(dāng)前語句數(shù)據(jù),
也支持將當(dāng)前語言轉(zhuǎn)換成json,一般數(shù)據(jù)接口提供的數(shù)據(jù)都是json格式的數(shù)據(jù)。
json格式的要求:一個(gè)json只能有一條數(shù)據(jù);數(shù)據(jù)必須是json支持的數(shù)據(jù)類型的數(shù)據(jù)。
json支持的數(shù)據(jù)類型:
數(shù)字:包括所有的數(shù)字,小數(shù),整數(shù),正數(shù),復(fù)數(shù),支持科學(xué)計(jì)數(shù)法
字符串:字符串只能用雙引號包起來的字符集,支持轉(zhuǎn)義字符
布爾值:true,false
數(shù)組:相當(dāng)于python中的列表:【】,元素必須是json數(shù)據(jù)
字典:相當(dāng)于python中的字典,key必須是字符串:{“name”:“wer”,“age”:14,“gender”:“man”}
空值:null,相當(dāng)于python中的None,表示空和沒有
將json可是轉(zhuǎn)化為python
數(shù)字->int,float
字符串->str
布爾->bool
數(shù)組->list
字典->dict
null->None
如何轉(zhuǎn)化為python?json模塊中有一個(gè)loads可以將json格式的數(shù)據(jù)轉(zhuǎn)換成python數(shù)據(jù)
import json
loads(字符串):將json格式的字符串轉(zhuǎn)換成python數(shù)據(jù),字符串的內(nèi)容必須是json數(shù)據(jù)
將python轉(zhuǎn)化為json
float->數(shù)字
str->單引號變成雙引號的字符串
bool->布爾(注意大小寫)
list/tuple->數(shù)組
dict->字典
集合,迭代器不能直接轉(zhuǎn),需要轉(zhuǎn)化為列表再轉(zhuǎn)化為數(shù)組
None->null
如何轉(zhuǎn):
json.dumps(數(shù)據(jù))-轉(zhuǎn)化為json格式的字符串

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、Python簡介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡介】: Python 是一個(gè)...
    _小老虎_閱讀 6,340評論 0 10
  • 文件操作和異常處理 一.文件操作1 1.數(shù)據(jù)持久化(數(shù)字本地化) 保存在程序中的數(shù)據(jù)是保存在運(yùn)行內(nèi)存中的,當(dāng)程序運(yùn)...
    風(fēng)中逐月fzzy閱讀 259評論 0 0
  • 來到簡書不知不覺已經(jīng)兩年了,可是我卻從來沒有發(fā)表過文章,因?yàn)榇蟛糠謺r(shí)間都是抽空、想起來閱讀了就打開APP翻一...
  • 生活中處處都有美。早上鍛煉不認(rèn)識的人向你點(diǎn)頭是一種美,公交車上看到相互讓座,是一種美,上班路上陌生人與你打招呼...
    終南石閱讀 431評論 0 3
  • 貓很早就馴服了人類,成為人類重要的家庭成員。 5300年前的中華遺址泉護(hù)村,發(fā)掘出了貓遺骨,科學(xué)家推測它們生前可能...
    夢鈴鐺閱讀 1,130評論 5 1

友情鏈接更多精彩內(nèi)容