Day12總結(jié)-2019/08/06

一、文件操作

1.數(shù)據(jù)持久化

將數(shù)據(jù)通過文件存儲到硬盤里面。

2.操作步驟

打開文件->操作文件內(nèi)容(讀、寫)->關(guān)閉文件。
①.打開文件:
方法一:open(file, mode='r', encoding=None)

'r'/'tr' - 只讀,返回字符串
'rb'/'br' - 只讀,返回二進(jìn)制數(shù)據(jù)
'w'/'tw' - 只寫,清空原數(shù)據(jù),寫入字符串
'bw'/'wb' - 只寫,清空原數(shù)據(jù),寫入二進(jìn)制數(shù)據(jù)
'a'/'ta' - 只寫,原數(shù)據(jù)后寫入字符串
'ab'/'ba' - 只寫,原數(shù)據(jù)后寫入二進(jìn)制數(shù)據(jù)

方法二:
with open(file, mode='r', encoding=None) as 文件對象:
文件作用域(操作文件)
②.讀寫文件:
文件對象.read() - 獲取整個文件內(nèi)容;
文件對象.readline() - 獲取文本文件第一行的內(nèi)容;
文件對象.write() - 將內(nèi)容寫入指定文件中。
③.關(guān)閉文件:
文件對象.close()
④.文件對象.seek() - 移動光標(biāo)到文件開頭。

3.打開不存在的文件:

只讀:報錯
只寫:創(chuàng)建一個空的文件

4.二進(jìn)制文件的讀寫

普通文本文件:可以使用帶t或者帶b的讀寫方式去打開。
二進(jìn)制數(shù)據(jù)文件:視頻文件、音頻文件、圖片都是二進(jìn)制,這些文件只能選擇帶'b'的方式去打開。

4.應(yīng)用:如何做到數(shù)據(jù)持久化

a.將數(shù)據(jù)保存到本地文件
b.需要這個數(shù)據(jù)的時候不是直接賦值而是從本地文件中去取它的值
c.當(dāng)數(shù)據(jù)的值發(fā)生改變后將新的數(shù)據(jù)更新到文件中

eval()用法:將序列字符串轉(zhuǎn)換成字典

二、json數(shù)據(jù)

json模塊是python內(nèi)置的模塊,模塊主要提供和json操作相關(guān)的函數(shù)。
用法:import json

1.json數(shù)據(jù)

json數(shù)據(jù)是一種通用的數(shù)據(jù)格式;一般數(shù)據(jù)接口提供的數(shù)據(jù)都是json格式的數(shù)據(jù)。

2.json數(shù)據(jù)的格式

①.格式:有且只能有一個數(shù)據(jù),這個數(shù)據(jù)必須是json支持的數(shù)據(jù)類型。
②.支持的數(shù)據(jù)類型:

數(shù)字類型(number) - 包括所有的數(shù)字,例如:100, 12.3, -4.3, 3e3(支持科學(xué)計(jì)數(shù)法)。
字符串 - 用雙引號引起來的字符集,例如:"abc", "123", "asd345", "\n", "\u4e00"。
布爾值 - 只有true和false兩個值。
數(shù)組 - 相當(dāng)于python中的列表:[100, "你好"]。
字典 - 相當(dāng)于python中的字典,key必須是字符串:{"a":122, "er":"df"}。
空置 - null;相當(dāng)于python中的None,表示空和沒有。

3.將json數(shù)據(jù)轉(zhuǎn)換成python數(shù)據(jù):

①轉(zhuǎn)換關(guān)系:

json python
數(shù)字類型 int/float
字符串 str,雙引號可能會變成單引號
布爾值 bool, true -> True; false -> False
數(shù)組 list,
字典 dict
空值 null -> None

②.轉(zhuǎn)換方法:
json模塊中有一個loads可以將json格式的數(shù)據(jù)轉(zhuǎn)換成python對應(yīng)的數(shù)據(jù)。
loads(字符串) - 將json格式的字符串轉(zhuǎn)換成python數(shù)據(jù)
注意:這兒的字符串的內(nèi)容必須是json數(shù)據(jù)

4.將python數(shù)據(jù)轉(zhuǎn)換成json數(shù)據(jù)

①.轉(zhuǎn)換關(guān)系:

python json
int\float 數(shù)字
str 字符串,引號都會變成雙引號
bool 布爾,True -> true, False -> false
list\tuple 數(shù)組
dict 字典
None null

②.轉(zhuǎn)換方法:
dumps(數(shù)據(jù)) - 將括號中的python數(shù)據(jù)轉(zhuǎn)換成json格式的字符串

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

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

  • day12-文件操作和異常處理 一.文件操作 1.數(shù)據(jù)持久化(數(shù)據(jù)本地化) 保存在程序中的數(shù)據(jù)是保存在運(yùn)行內(nèi)存中的...
    晨凡_2019閱讀 311評論 0 0
  • 文件操作和異常處理 一.文件操作1 1.數(shù)據(jù)持久化(數(shù)字本地化) 保存在程序中的數(shù)據(jù)是保存在運(yùn)行內(nèi)存中的,當(dāng)程序運(yùn)...
    風(fēng)中逐月fzzy閱讀 256評論 0 0
  • 一、Python簡介和環(huán)境搭建以及pip的安裝 4課時實(shí)驗(yàn)課主要內(nèi)容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 6,319評論 0 10
  • 一、文件操作 1. 數(shù)據(jù)持久化(數(shù)據(jù)本地化) 1)原因 保存在程序中的數(shù)據(jù)是保存在運(yùn)行內(nèi)存中的 當(dāng)程序運(yùn)行結(jié)束,內(nèi)...
    Lis_reak閱讀 201評論 0 0
  • 文件操作 review python中聲明函數(shù)就是聲明類型是function的變量, 函數(shù)名就是變量名 函數(shù)作為另...
    漫磋嗟閱讀 225評論 0 0

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