亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

文件操作

NusterCache / 3686人閱讀

摘要:將列表信息保存到文件中即將存儲(chǔ)的數(shù)據(jù)對(duì)象存入的文件序列化操作建議保存對(duì)象時(shí),文件的后綴名不要使用電腦系統(tǒng)能夠打開(kāi)的格式讀取文件打開(kāi)文件讀取的文件有返回值

打開(kāi)文件

文件路徑:相對(duì)路徑 : 1-讀文件.py 絕對(duì)路徑 : C:UsersxlgDesktop文件操作1-讀文件.py

r :以只讀的方式打開(kāi)文件,文件描述符放在文件的開(kāi)頭位置

rb : 以二進(jìn)制格式打開(kāi)文件,文件只讀,文件描述符放在文件的開(kāi)頭位置

w:以只寫(xiě)的方式打開(kāi)文件,如果文件存在,那么覆蓋該文件,如果文件不存在,則會(huì)創(chuàng)建文件。

wb:以二進(jìn)制格式打開(kāi)文件,文件用于寫(xiě)入,如果文件存在,那么覆蓋該文件。

w+:以讀寫(xiě)的方式打開(kāi)文件

a:打開(kāi)一個(gè)文件用于追加寫(xiě)入,如果文件不存在,則會(huì)創(chuàng)建文件;如果文件存在,則會(huì)在文件末尾寫(xiě)入內(nèi)容。

a+:以讀寫(xiě)的方式打開(kāi)文件

encoding:文件的編碼格式
errors:錯(cuò)誤處理
strict:默認(rèn)方式,如果遇到非法字符,拋出異常
ignore:忽略非法字符
replace:用?代替非法字符
open:返回值:文件描述符

打開(kāi)普通文件
f1 = open("file.txt","r", encoding="utf-8")
# 當(dāng)文件不存在,拋出異常
# FileNotFoundError: [Errno 2] No such file or directory: "file.txt"

# 打開(kāi)二進(jìn)制格式的文件:不能設(shè)置encoding
f2 = open("file.txt", "rb")
# 指定錯(cuò)誤處理方式
f3 = open("file.txt", mode="r", encoding="utf-8", errors="ignore")
讀取文件
# 讀取文件所有內(nèi)容    
str1 = f1.read()
# 讀取指定字符個(gè)數(shù)
str2 = f1.read(4)
# 讀取整行 包括
   size代表字符個(gè)數(shù) 中文也算一個(gè)
str3 = f1.readline(size)  
# 讀取所有行,返回一個(gè)列表
str4 = f1.readlines()

#如果給定的size數(shù)字大于0,實(shí)際返回的size字符數(shù)會(huì)比寫(xiě)入的size大,原因需要填充緩沖區(qū)

# 修改描述符的位置  seek()
# tell()  返回描述符的位置
print(f1.read(3))
print(f1.tell()) # 3
f1.seek(3)
print(f1.read(3))  # 打印第四個(gè)到第六個(gè)字符
關(guān)閉文件
f1.close() # 必須關(guān)閉

try:
    f2 = open("file.txt", "r", encoding="utf-8")
    print(f2.read())
except FileNotFoundError as e:
    print("文件沒(méi)有找到")
finally:
    if f2:
        f2.close()

# 簡(jiǎn)潔的方式:
with open("file.txt", "r", encoding="utf-8") as f5:
print(f5.read())
寫(xiě)入文件
with open("c.txt","w", encoding="utf-8") as f2:
f2.write("124789kfxfh")
編碼與解碼
# 編碼  encode("編碼格式")
with open("d.txt","wb") as f1:
    str1 = "北京你好,我有沙塵暴,hello world"
    f1.write(str1.encode("GBK"))

# 解碼  decode("編碼格式")
with open("d.txt","rb") as f2:
    data = f2.read()
    print(data)
    print(type(data))  # byte 字節(jié)

    newStr =data.decode("GBK")
    print(newStr)
    print(type(newStr))  # str
存儲(chǔ)操作
有時(shí)候,我們需要將某些字符串、列表、字典、元組等數(shù)據(jù)長(zhǎng)久保存,現(xiàn)在,這個(gè)時(shí)候,就需要使用永久性存儲(chǔ)的模塊文件pickle。pickle模塊可以將對(duì)象轉(zhuǎn)換為一種可以存儲(chǔ)或讀取的格式。

pickle:該模塊實(shí)現(xiàn)了數(shù)據(jù)的序列化與反序列化,通過(guò)pickle的序列化操作,可以實(shí)現(xiàn)將程序中的對(duì)象保存到文件信息中,實(shí)現(xiàn)永久性存儲(chǔ)。
通過(guò)pickle的反序列化操作,可以實(shí)現(xiàn)將程序中的永久性存儲(chǔ)的對(duì)象解析出來(lái)。

list1 = [1,2,3,4,5,6]
f1 = open("list.data", "wb")
# 將列表信息保存到文件中
# pickle.dump(即將存儲(chǔ)的數(shù)據(jù)對(duì)象, 存入的文件)   序列化操作
# 建議:保存對(duì)象時(shí),文件的后綴名不要使用電腦系統(tǒng)能夠打開(kāi)的格式
pickle.dump(list1, f1)
f1.close()


# 讀取文件
tmp = []
# 打開(kāi)文件
f2 = open("list.data", "rb")
# pickle.load(讀取的文件)  有返回值
tmp = pickle.load(f2)
print(tmp)
f2.close()

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/41574.html

相關(guān)文章

  • ??Python【文件操作】保姆式教程??,計(jì)算機(jī)那么多文件,你繞不過(guò)這一關(guān)的!

    ?前言 在Python寫(xiě)代碼做項(xiàng)目時(shí),我們往往需要對(duì)多個(gè)文件進(jìn)行操作,在現(xiàn)在的源代碼文件中怎么導(dǎo)入其他文件?怎么對(duì)其他文件進(jìn)行操作?這都是經(jīng)常要面臨的問(wèn)題,尤其是爬蟲(chóng),爬到的數(shù)據(jù)放在哪里?用到的時(shí)候怎么調(diào)出來(lái)? 這就涉及到了Python的文件操作知識(shí)了,我們不可能永遠(yuǎn)都只會(huì)在一個(gè)源文件上做所有的操作,這也是必須掌握的一個(gè)知識(shí)板塊。 與此同時(shí),我的Python新手入門(mén)教程系列文章也已經(jīng)快更新完了,歡...

    forsigner 評(píng)論0 收藏0
  • 文件操作

    摘要:二文件操作操作文件時(shí),一般需要經(jīng)歷如下步驟打開(kāi)文件文件句柄文件路徑模式注中打開(kāi)文件有兩種方式,即和,本質(zhì)上前者在內(nèi)部會(huì)調(diào)用后者來(lái)進(jìn)行文件操作,推薦使用。 一 介紹 計(jì)算機(jī)系統(tǒng)分為:計(jì)算機(jī)硬件,操作系統(tǒng),應(yīng)用程序三部分。 我們用python或其他語(yǔ)言編寫(xiě)的應(yīng)用程序若想要把數(shù)據(jù)永久保存下來(lái),必須要保存于硬盤(pán)中,這就涉及到應(yīng)用程序要操作硬件,眾所周知,應(yīng)用程序是無(wú)法直接操作硬件的,這就用...

    546669204 評(píng)論0 收藏0
  • UCloud MySQL云數(shù)據(jù)庫(kù)操作指南

    摘要:二進(jìn)制日志是記錄對(duì)數(shù)據(jù)發(fā)生或潛在發(fā)生更改的語(yǔ)句,并以二進(jìn)制的形式保存。刪除配置文件刪除配置文件配置文件支持刪除操作。在配置文件列表頁(yè)選中需要?jiǎng)h除的配置文件,選中刪除即可完成刪除操作。UCloud MySQL云數(shù)據(jù)庫(kù)操作指南 基本操作 啟動(dòng)MySQL實(shí)例 如果要啟動(dòng)處于關(guān)閉狀態(tài)的MySQL實(shí)例,首先選擇需要啟動(dòng)的MySQL實(shí)例,在列表右側(cè)點(diǎn)擊啟動(dòng)按鈕,彈出的確認(rèn)對(duì)話框選擇確定...

    raoyi 評(píng)論0 收藏0
  • python開(kāi)發(fā)第三篇--文件的基本操作和初識(shí)函數(shù)

    摘要:文件的基本操作編碼不同編碼之間的二進(jìn)制是不能互相識(shí)別的。返回值有幾種情況分別是沒(méi)有返回值返回一個(gè)值返回多個(gè)值。函數(shù)定義計(jì)算的長(zhǎng)度函數(shù)調(diào)用因?yàn)闆](méi)有返回值,此時(shí)的為只寫(xiě),后面不寫(xiě)其他內(nèi)容,也會(huì)返回,但是遇到會(huì)終止整個(gè)函數(shù)。 文件的基本操作 編碼 1.不同編碼之間的二進(jìn)制是不能互相識(shí)別的。2.對(duì)于文件的存儲(chǔ),及傳輸 不能是unicode的編碼。 bytes:內(nèi)部編碼格式(非unicode) ...

    魏明 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<