Ygon's Day13_文件管理

1.文件管理

os庫(kù)提供了很多和文件管理操作

  1. 數(shù)據(jù)本地化和數(shù)據(jù)持久化 -通過(guò)文件將數(shù)據(jù)存到硬盤(pán)中

  2. txt.json.plist.xml.png.mp4.mp3

  3. 文件操作-打開(kāi)文件>>>操作文件(讀/寫(xiě))>>>關(guān)閉文件

    打開(kāi)文件
    ‘’‘
    open(file,mode,encoding=None)
    '''
    1) file: 字符串,需要打開(kāi)的文件的路徑
    ./當(dāng)前文件所在目錄
    ../上層目錄

2) mode: -字符串,打開(kāi)方式
r -默認(rèn)值,以讀的方式打開(kāi)文件只能進(jìn)行讀操作
w -以寫(xiě)的方式打開(kāi)文件只能進(jìn)行讀操作,覆蓋
a -以寫(xiě)的方式打開(kāi)文件只能進(jìn)行讀操作,追加
rb/br -以讀的方式打開(kāi)文件只能進(jìn)行讀操作,讀出來(lái)的內(nèi)容是二進(jìn)制
wb/bw -以寫(xiě)的方式打開(kāi)文件只能進(jìn)行讀操作,將二進(jìn)制寫(xiě)進(jìn)文件中
3)encoding: 文本編碼方式
utf-8
gbk
注意:文本編碼只針對(duì)文本文件、二進(jìn)制文件不能設(shè)置編碼方式
文件操作:
’‘’

  • 文件對(duì)象.read() -獲取文件中所有的內(nèi)容,并返回
  • 文件對(duì)象.write() -將指定內(nèi)容寫(xiě)到文件中,返回寫(xiě)入內(nèi)容的長(zhǎng)度
  • 文件.close() -關(guān)閉文件
    二進(jìn)制文件操作
    rb -讀的時(shí)候獲取到的內(nèi)容是二進(jìn)制數(shù)據(jù)
    wb -寫(xiě)入的內(nèi)容要求類型是二進(jìn)制文件
    普通的文本文件可以通過(guò)二進(jìn)制的形式去打開(kāi),影響只是獲取到的內(nèi)容,和寫(xiě)進(jìn)去的內(nèi)容的數(shù)據(jù)類型
    二進(jìn)制文件只能以二進(jìn)制的形式打開(kāi)(例如:圖片、視頻等)
    二進(jìn)制數(shù)據(jù)
    一般的二進(jìn)制數(shù)據(jù)是通過(guò)網(wǎng)絡(luò)請(qǐng)求獲取到,或者通過(guò)本地的二進(jìn)制文件來(lái)取到
    1)將字符串轉(zhuǎn)換成二進(jìn)制
    bytes(字符串,編碼方式)
    字符串.encode(編碼方式)
    2)將二進(jìn)制轉(zhuǎn)換成字符串
    str(二進(jìn)制數(shù)據(jù),編碼方式)
    二進(jìn)制數(shù)據(jù).decode
  1. 文件上下文

    1. with open(文件路徑,打開(kāi)方式,編碼方式) as 文件對(duì)象名
  2. json
    1)滿足json格式的數(shù)據(jù)就叫json數(shù)據(jù)
    2)json格式:
    一個(gè)json有且只有一個(gè)數(shù)據(jù),這個(gè)數(shù)據(jù)必須滿足json 支持的的數(shù)據(jù)類型。
    3)json支持的數(shù)據(jù)類型:

    1. 數(shù)字(number):包含所有的數(shù)字,整數(shù)和小數(shù)。支持科學(xué)計(jì)數(shù)法。
    2. 字符串:用雙引號(hào)括起來(lái)的字符集。字符也可以是轉(zhuǎn)義字符和編碼字符
    3. 布爾(boolean)true/false
    4. 數(shù)組:相當(dāng)于python中的列表
    5. 字典:相當(dāng)于python里面的字典
    6. 空值
      4)使用json:
    • 解析json數(shù)據(jù)(獲取到j(luò)son數(shù)據(jù)后將Json想要的東西解析出來(lái))
    • 構(gòu)造json數(shù)據(jù):
      在python有一個(gè)內(nèi)置的庫(kù),專門(mén)負(fù)責(zé)json數(shù)據(jù)的處理
      1)將json數(shù)據(jù)轉(zhuǎn)換成python數(shù)據(jù)
      json數(shù)據(jù) python數(shù)據(jù)
      number int/float
      string str
      boolean bool
      array list
      dictionary dict
      空 None
      2)loads方法:json.loads(str,encoding=‘utf-8’) -解析json數(shù)據(jù),返回json對(duì)應(yīng)的python數(shù)據(jù)
      字符串要去掉引號(hào)后本身就是以一個(gè)json數(shù)據(jù)。()
      3)python轉(zhuǎn)json
      python數(shù)據(jù) json數(shù)據(jù)
      int/float number
      bool boolean
      str string
      list/tuple array
      dict dictionary
      空值(None) Null
      4)json.dumps(python數(shù)據(jù)) 將python數(shù)據(jù)轉(zhuǎn)換成內(nèi)容是對(duì)應(yīng)的json數(shù)據(jù)的字符串,結(jié)果是一個(gè)字符串
      5)json文件操作:
      json.load(文件對(duì)象) 將文件對(duì)象中文件的內(nèi)容轉(zhuǎn)換成python數(shù)據(jù)
      json.dump(python數(shù)據(jù),文件對(duì)象) 將python數(shù)據(jù)轉(zhuǎn)換成json字符串再寫(xiě)入指定的文件中
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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