文件讀取的步驟:
- 打開(kāi)文本文件對(duì)象
- 寫(xiě)入數(shù)據(jù)
文件的讀取一般使用如下三個(gè)方法:
read([size]): 從文件中讀取 size 個(gè)字符,并作為結(jié)果返回如果沒(méi)有 size 參數(shù),則讀取整個(gè)文件. 讀取到文件末尾,會(huì)返回空字符串readline(): 讀取一行內(nèi)容作為結(jié)果返回讀取到文件末尾,會(huì)返回空字符串readlines(): 文本文件中,每一行作為一個(gè)字符串存入列表中,返回該列表
代碼格式
with open(r"d:\\a.txt", "r"[, encoding="utf-8"]) as f:
f.read(4)
注意:
- 在讀取文件時(shí), 需要注意讀寫(xiě)時(shí)字符編碼的一致性 , 如果寫(xiě)的時(shí)候沒(méi)有指定編碼(默認(rèn)GBK), 則在讀取的時(shí)候也不需要指定編碼
- 但如果讀的時(shí)候未指定編碼, 寫(xiě)的時(shí)候指定, 則會(huì)報(bào)錯(cuò). 例如: 寫(xiě)的時(shí)候指定
encoding="utf-8", 則控制臺(tái)報(bào)UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbc in position 13: invalid start byte
實(shí)操代碼
# 【操作】 讀取一個(gè)文件前4個(gè)字符
import pickle
with open(r"d:\\a.txt", "r") as f:
print(f.read(4))
# 【操作】文件較小,一次將文件內(nèi)容讀入到程序中
with open(r"d:\\aa.txt", "r") as f:
print(f.read())
# 【操作】按行讀取一個(gè)文件
with open(r"d:\\b.txt") as f:
while True:
lines = f.readline()
if not lines: # 在python 中 if not 會(huì)將后面對(duì)象隱式轉(zhuǎn)成True或者False進(jìn)行判斷, 因此遇到空字符串也返回False
break
else:
print(lines, end="")
print()
# 【操作】使用迭代器(每次返回一行)讀取文本文件
# 寫(xiě)和讀的編碼要對(duì)應(yīng)
with open(r"d:\\bb.txt", "r", encoding="utf-8") as f:
for a in f:
print(a, end="")
# 【操作】為文本文件每一行的末尾增加行號(hào)
with open(r"d:\\c.txt", "r") as f:
lines = f.readlines()
lines2 = [line.rstrip() + " # " + str(index) + "\\n" for index, line in zip(range(1, len(lines) + 1), lines)]
with open(r"d:\\c.txt", "w") as ff:
ff.writelines(lines2)
二進(jìn)制文件的讀取和寫(xiě)入
二進(jìn)制文件的處理流程和文本文件流程一致。首先還是要?jiǎng)?chuàng)建文件對(duì)象, 創(chuàng)建好二進(jìn)制文件對(duì)象后,仍然可以使用 write() 、 read() 實(shí)現(xiàn)文件的讀寫(xiě)操作
在創(chuàng)建文件對(duì)象時(shí), 首先需要指定二進(jìn)制模式,然后才能創(chuàng)建出二進(jìn)制文件對(duì)象. 例如
f = open(r"d:\\a.txt", 'wb')可寫(xiě)的、重寫(xiě)模式的二進(jìn)制文件對(duì)象f = open(r"d:\\a.txt", 'ab')可寫(xiě)的、追加模式的二進(jìn)制文件對(duì)象f = open(r"d:\\a.txt", 'rb')可讀的二進(jìn)制文件對(duì)象
實(shí)操代碼
# 二進(jìn)制文件的讀取和寫(xiě)入(此操作相當(dāng)于復(fù)制)
# f = open(r"d:\\a.txt", 'wb') #可寫(xiě)的、重寫(xiě)模式的二進(jìn)制文件對(duì)象
# f = open(r"d:\\a.txt", 'ab') #可寫(xiě)的、追加模式的二進(jìn)制文件對(duì)象
# f = open(r"d:\\a.txt", 'rb') #可讀的二進(jìn)制文件對(duì)象
with open(r"d:\\aaa.png", "rb") as scrFile, open(r"d:\\bbb.png", "wb") as destFile:
for l in scrFile:
destFile.write(l)
2.4. 文件對(duì)象的常用屬性和方法
文件對(duì)象的屬性
文件對(duì)象的打開(kāi)模式
文件對(duì)象的常用方法

文件任意位置操作
利用 seek() 可以將讀取文件的指針移動(dòng)到指定字節(jié)位置上一個(gè)中文字符站兩個(gè)字節(jié), 而英文只占一個(gè)字節(jié)
實(shí)操代碼
print("=================文件任意位置操作======================")
# 【示例】 seek() 移動(dòng)文件指針示例
with open(r"d:\\cc.txt", "r") as f:
print("文件名是{0}".format(f.name)) # 文件名是d:\\cc.txt
print(f.tell()) # 0
print("讀取文件的內(nèi)容", str(f.readline())) # 讀取文件的內(nèi)容 齊格飛齊格飛齊格飛
print(f.tell()) # 18
f.seek(4, 0) # 中文占2個(gè)字節(jié), 因此在seek時(shí)需要是2的倍數(shù)
print("文件讀取的內(nèi)容", str(f.readline())) # 文件讀取的內(nèi)容 飛齊格飛齊格飛
print(f.tell()) # 18
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
文件
+關(guān)注
關(guān)注
1文章
594瀏覽量
26061 -
python
+關(guān)注
關(guān)注
57文章
4876瀏覽量
90041
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
如何在 Python 中讀取文本文件?
本帖最后由 dife289 于 2021-6-29 18:22 編輯
文本文件是包含簡(jiǎn)單文本的文件。Python 提供了內(nèi)置函數(shù)來(lái)讀取、創(chuàng)建和寫(xiě)入文本
發(fā)表于 06-10 20:21
Python 讀取文件的6種方式
;, 'r')file.read()如果你還在使用 Python2,那么它可以幫你處理掉 Python 2 下寫(xiě)文件時(shí)一些編碼錯(cuò)誤,一般的建議是:在 Python 3 下寫(xiě)
發(fā)表于 04-11 15:30
如何通過(guò)pandas讀取csv文件指定的前幾行?
今天小編給大家分享一篇Python技術(shù)開(kāi)發(fā)方面的文章,如何實(shí)現(xiàn)pandas讀取csv文件指定的前幾行,喜歡Python開(kāi)發(fā)的小伙伴下面就隨小編一起來(lái)了解一下吧。
發(fā)表于 09-19 17:43
?16次下載
python接口文件使用說(shuō)明
首先,python接口文件在安裝好的darknet目錄下的python文件夾,打開(kāi)就可以看到
發(fā)表于 05-18 11:30
?2540次閱讀
使用Python對(duì)壓縮文件的處理
zipfile是Python里用來(lái)做zip格式編碼的壓縮和解壓縮的module,zipfile里有兩個(gè)非常重要的class:ZipFile和ZipInfo。ZipFile是主要的類(lèi),用來(lái)創(chuàng)建和讀取zip文件,而ZipInfo是存
Python讀取數(shù)據(jù)文件的方式
使用內(nèi)置庫(kù) filecache,你可以用它來(lái)指定讀取具體某一行,或者某幾行,不指定就讀取全部行。
利用Python讀取多份Excel的小技巧
在使用 Python 批量處理 Excel 時(shí)經(jīng)常需要批量讀取數(shù)據(jù),常見(jiàn)的方式是結(jié)合glob模塊,可以實(shí)現(xiàn)將當(dāng)前文件夾下的所有csv批量讀取,并且合并到一個(gè)大的DataFrame中
介紹Python中常用的文件讀取方法以及應(yīng)用示例
ython 文件讀取是 Python 語(yǔ)言中的基本操作之一。在編寫(xiě)Python 程序時(shí),我們經(jīng)常需要讀取不同的
網(wǎng)絡(luò)工程師學(xué)Python-文件處理
當(dāng)涉及到 Python 文件處理時(shí), 我們通常會(huì)涉及到文件的讀取和寫(xiě)入, 以及文件的操作和處理。
python文件操作是什么
一、什么是文件操作 一個(gè)完整的程序一般都包括數(shù)據(jù)的存儲(chǔ)和讀取;我們?cè)谇懊鎸?xiě)的程序數(shù)據(jù)都沒(méi)有進(jìn)行實(shí)際的存儲(chǔ),因此python解釋器執(zhí)行完數(shù)據(jù)就消失了 實(shí)際開(kāi)發(fā)中,我們經(jīng)常需要從外部存儲(chǔ)介質(zhì)(硬盤(pán)、光盤(pán)
python讀取數(shù)據(jù)庫(kù)數(shù)據(jù) python查詢數(shù)據(jù)庫(kù) python數(shù)據(jù)庫(kù)連接
python讀取數(shù)據(jù)庫(kù)數(shù)據(jù) python查詢數(shù)據(jù)庫(kù) python數(shù)據(jù)庫(kù)連接 Python是一門(mén)高級(jí)編程語(yǔ)言,廣泛應(yīng)用于各種領(lǐng)域。其中,
如何使用Python和pandas庫(kù)讀取、寫(xiě)入文件
在本文中,我將介紹如何使用 Python 和 pandas 庫(kù)讀取、寫(xiě)入文件。 1、安裝 pip install pandas 2、讀取 import pandas as pd df
如何使用Python讀取寫(xiě)入Word文件
01 準(zhǔn)備 Python 是一種通用編程語(yǔ)言,也可以用于處理 Microsoft Word 文件。在本文中,我將向你介紹如何使用 Python 和 python-docx 庫(kù)
python中如何保存文件
在Python中,可以使用多種方式來(lái)保存文件。以下是一些常見(jiàn)的方法: 使用內(nèi)置的open()函數(shù):open()函數(shù)用于打開(kāi)文件并返回一個(gè)文件對(duì)象,可以在此對(duì)象上執(zhí)行
python文件的讀取
評(píng)論