文件讀取的步驟:
- 打開文本文件對象
- 寫入數據
文件的讀取一般使用如下三個方法:
read([size])
: 從文件中讀取 size 個字符,并作為結果返回如果沒有 size 參數,則讀取整個文件. 讀取到文件末尾,會返回空字符串readline()
: 讀取一行內容作為結果返回讀取到文件末尾,會返回空字符串readlines()
: 文本文件中,每一行作為一個字符串存入列表中,返回該列表
代碼格式
with open(r"d:\\a.txt", "r"[, encoding="utf-8"]) as f:
f.read(4)
注意:
- 在讀取文件時, 需要注意讀寫時字符編碼的一致性 , 如果寫的時候沒有指定編碼(默認GBK), 則在讀取的時候也不需要指定編碼
- 但如果讀的時候未指定編碼, 寫的時候指定, 則會報錯. 例如: 寫的時候指定
encoding="utf-8"
, 則控制臺報UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbc in position 13: invalid start byte
實操代碼
# 【操作】 讀取一個文件前4個字符
import pickle
with open(r"d:\\a.txt", "r") as f:
print(f.read(4))
# 【操作】文件較小,一次將文件內容讀入到程序中
with open(r"d:\\aa.txt", "r") as f:
print(f.read())
# 【操作】按行讀取一個文件
with open(r"d:\\b.txt") as f:
while True:
lines = f.readline()
if not lines: # 在python 中 if not 會將后面對象隱式轉成True或者False進行判斷, 因此遇到空字符串也返回False
break
else:
print(lines, end="")
print()
# 【操作】使用迭代器(每次返回一行)讀取文本文件
# 寫和讀的編碼要對應
with open(r"d:\\bb.txt", "r", encoding="utf-8") as f:
for a in f:
print(a, end="")
# 【操作】為文本文件每一行的末尾增加行號
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)
二進制文件的讀取和寫入
二進制文件的處理流程和文本文件流程一致。首先還是要創建文件對象, 創建好二進制文件對象后,仍然可以使用 write() 、 read() 實現文件的讀寫操作
在創建文件對象時, 首先需要指定二進制模式,然后才能創建出二進制文件對象. 例如
f = open(r"d:\\a.txt", 'wb')
可寫的、重寫模式的二進制文件對象f = open(r"d:\\a.txt", 'ab')
可寫的、追加模式的二進制文件對象f = open(r"d:\\a.txt", 'rb')
可讀的二進制文件對象
實操代碼
# 二進制文件的讀取和寫入(此操作相當于復制)
# f = open(r"d:\\a.txt", 'wb') #可寫的、重寫模式的二進制文件對象
# f = open(r"d:\\a.txt", 'ab') #可寫的、追加模式的二進制文件對象
# f = open(r"d:\\a.txt", 'rb') #可讀的二進制文件對象
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. 文件對象的常用屬性和方法
文件對象的屬性文件對象的打開模式
文件對象的常用方法
文件任意位置操作
利用 seek() 可以將讀取文件的指針移動到指定字節位置上一個中文字符站兩個字節, 而英文只占一個字節
實操代碼
print("=================文件任意位置操作======================")
# 【示例】 seek() 移動文件指針示例
with open(r"d:\\cc.txt", "r") as f:
print("文件名是{0}".format(f.name)) # 文件名是d:\\cc.txt
print(f.tell()) # 0
print("讀取文件的內容", str(f.readline())) # 讀取文件的內容 齊格飛齊格飛齊格飛
print(f.tell()) # 18
f.seek(4, 0) # 中文占2個字節, 因此在seek時需要是2的倍數
print("文件讀取的內容", str(f.readline())) # 文件讀取的內容 飛齊格飛齊格飛
print(f.tell()) # 18
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
文件
+關注
關注
1文章
565瀏覽量
24727 -
python
+關注
關注
56文章
4792瀏覽量
84628
發布評論請先 登錄
相關推薦
如何在 Python 中讀取文本文件?
本帖最后由 dife289 于 2021-6-29 18:22 編輯
文本文件是包含簡單文本的文件。Python 提供了內置函數來讀取、創建和寫入文本
發表于 06-10 20:21
Python 讀取文件的6種方式
;, 'r')file.read()如果你還在使用 Python2,那么它可以幫你處理掉 Python 2 下寫文件時一些編碼錯誤,一般的建議是:在 Python 3 下寫
發表于 04-11 15:30
如何通過pandas讀取csv文件指定的前幾行?
今天小編給大家分享一篇Python技術開發方面的文章,如何實現pandas讀取csv文件指定的前幾行,喜歡Python開發的小伙伴下面就隨小編一起來了解一下吧。
發表于 09-19 17:43
?16次下載
使用Python對壓縮文件的處理
zipfile是Python里用來做zip格式編碼的壓縮和解壓縮的module,zipfile里有兩個非常重要的class:ZipFile和ZipInfo。ZipFile是主要的類,用來創建和讀取zip文件,而ZipInfo是存
利用Python讀取多份Excel的小技巧
在使用 Python 批量處理 Excel 時經常需要批量讀取數據,常見的方式是結合glob模塊,可以實現將當前文件夾下的所有csv批量讀取,并且合并到一個大的DataFrame中
介紹Python中常用的文件讀取方法以及應用示例
ython 文件讀取是 Python 語言中的基本操作之一。在編寫Python 程序時,我們經常需要讀取不同的
python文件操作是什么
一、什么是文件操作 一個完整的程序一般都包括數據的存儲和讀取;我們在前面寫的程序數據都沒有進行實際的存儲,因此python解釋器執行完數據就消失了 實際開發中,我們經常需要從外部存儲介質(硬盤、光盤
python讀取數據庫數據 python查詢數據庫 python數據庫連接
python讀取數據庫數據 python查詢數據庫 python數據庫連接 Python是一門高級編程語言,廣泛應用于各種領域。其中,
如何使用Python和pandas庫讀取、寫入文件
在本文中,我將介紹如何使用 Python 和 pandas 庫讀取、寫入文件。 1、安裝 pip install pandas 2、讀取 import pandas as pd df
如何使用Python讀取寫入Word文件
01 準備 Python 是一種通用編程語言,也可以用于處理 Microsoft Word 文件。在本文中,我將向你介紹如何使用 Python 和 python-docx 庫
python中如何保存文件
在Python中,可以使用多種方式來保存文件。以下是一些常見的方法: 使用內置的open()函數:open()函數用于打開文件并返回一個文件對象,可以在此對象上執行
評論