最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中文件常用操作的完整代碼(零基礎(chǔ)就能上手)

 更新時間:2026年06月04日 09:32:55   作者:夢想三三  
文件是存儲在磁盤上的數(shù)據(jù)集合,通過文件名進(jìn)行標(biāo)識,Python程序需要先建立與磁盤文件的通道才能讀取或?qū)懭霐?shù)據(jù),本文將和大家詳細(xì)介紹了Python中文件的一些常用操作,希望對大家有所幫助

一、文件的基本概念

1. 什么是文件

文件是存儲在磁盤上的數(shù)據(jù)集合,通過文件名進(jìn)行標(biāo)識。Python程序需要先建立與磁盤文件的通道,才能讀取或?qū)懭霐?shù)據(jù)。

2. 字符型文件 vs 二進(jìn)制文件

字符型文是純文本內(nèi)容,無格式信息,常見的.txt、.csv、.py等格式文件都是字符型文件,能用記事本正常打開

二進(jìn)制文件為存儲原始字節(jié),含格式信息 .jpg、.png、.mp4、.docx 等格式文件都是二進(jìn)制文件,記事本打開亂碼

注意:CSV雖然是純文本格式,但可用Excel表格化顯示,本質(zhì)上仍屬于字符型文件。

二、操作文件

關(guān)于文件的操作通常包含三個步驟,及打開文件、操作文件和關(guān)閉文件。

file.open()  # 打開文件
file.method()  # 操作文件
file.close()  # 關(guān)閉文件

這里注意不關(guān)閉文件會長期占內(nèi)存條,當(dāng)代碼讀取的文檔比較多時,會逐步消耗內(nèi)存,所以當(dāng)文件不必使用時,要即使關(guān)閉釋放內(nèi)存空間

1.打開文件

在python中通常使用open()函數(shù)來打開一個文件,

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

注意這里的打開文件是與文件建立通道,open()是Python操作文件的入口,它在內(nèi)存(程序運(yùn)行環(huán)境)和磁盤(文件存儲位置)之間建立通道,獲取操作文件的權(quán)限。

參數(shù)mode:文件打開的模式,常見打開模式如下

參數(shù)buffering:設(shè)置緩沖區(qū)大小,分塊讀取數(shù)據(jù)不一口氣讀取,防止內(nèi)存溢出風(fēng)險。

參數(shù)encoding:表示需要打開文件的編碼方式,在文本模式下有效。常用兩種,GBK(適用于純英文文本) UTF-8(支持中文等多種語言)

參數(shù)file:需要打開的文件路徑,數(shù)據(jù)類型為字符串類型。

注意Windows路徑中的反斜杠\會被Python識別為轉(zhuǎn)義字符(如\n換行),需要特殊處理。

三種正確寫法:

# 方法1:使用原始字符串(推薦)
f = open(r'F:\學(xué)習(xí)資料\a.txt', 'r')
# 方法2:雙反斜杠轉(zhuǎn)義
f = open('F:\\學(xué)習(xí)資料\\a.txt', 'r')
# 方法3:正斜杠路徑(跨平臺兼容)
f = open('F:/學(xué)習(xí)資料/a.txt', 'r')

'r'只讀模式 示例代碼,使用open函數(shù)打開 “ D:\課\第七章\a.txt”文件

注意:這里\a在字符串里為轉(zhuǎn)義字符,會使得程序在讀取文件時找不到文件路徑引發(fā)報(bào)錯

可以看到我們正確輸出時,輸入結(jié)果并不是文件里面的內(nèi)容,open()函數(shù)之打開文件并不會讀取文件內(nèi)部的字符內(nèi)容,在代碼中open函數(shù)的打開文件是指和文件建立通道并創(chuàng)建一個文件對象,這個對象與文件進(jìn)行了關(guān)聯(lián),因此輸出的結(jié)果是文件對象的屬性信息。

'w'覆蓋寫模式 示例代碼(批量創(chuàng)建文件)公司日常需要處理大量文件可以用Python代碼自動創(chuàng)建

'a'追加寫模式 示例代碼

f=open(r"D:\課\第七章\a.txt",'a',encoding='utf-8')
f.write('提高辦公效率')
f.close()

'b'二進(jìn)制模式

讀取二進(jìn)制文件(如圖片、視頻)需使用'rb'模式,不能與encoding參數(shù)同時使用,二進(jìn)制模式將文件從磁盤讀取到內(nèi)存,便于網(wǎng)絡(luò)傳輸或進(jìn)一步處理。

注意:二進(jìn)制文件也會以字符形式返回

f=open('wordcloud.png','rb')
print(f.read())#輸出16進(jìn)制內(nèi)容
f.close()

2.讀取文件

read()方法:文件對象.read(size=-1)

size:從文件中讀取size個字符的內(nèi)容,默認(rèn)讀取全文

通過open()方法讀取的數(shù)據(jù)默認(rèn)返回字符串類型內(nèi)容

readlines方法

讀取所有行內(nèi)容,以列表形式返回,每行內(nèi)容為列表中的一個元素,保留換行符\n,自然語言處理中需要處理換行符等特殊符號

示例:

for循環(huán)遍歷文件

直接對文件對象進(jìn)行for循環(huán),print后會換行,一行行讀取,節(jié)省內(nèi)存資源

示例:

小文件使用read(),大文件使用readlines()或for循環(huán)遍歷,自然語言處理優(yōu)先使用readlines()以保留特殊符號

3.寫入文件

write() 把字符串寫入文件,并返回寫入的內(nèi)容

writelines():把字符串列表寫入文件,且不添加換行符,返回None

實(shí)例

4.絕對路徑和相對路徑

在使用open()函數(shù)讀取文件時,第一個參數(shù)用于表明文件的路徑和名稱,其中文件路徑的表達(dá)方式有兩種,分別為絕對路徑和相對路徑

絕對路徑: 從磁盤根目錄開始到目標(biāo)文件的完整路徑,如E:\書代碼\第7章\a.txt

相對路徑: 相對于當(dāng)前文件位置的路徑,從一個目錄為起點(diǎn)到另一個目錄的路徑

路徑表示技巧:

同級目錄直接寫文件名即可

下級目錄用./目錄名/文件名

上級目錄用../文件名,多級上級用../../文件名

5. CSV文件處理

CSV(逗號分隔值)是一種純文本文件格式,其特點(diǎn)如下:

  1. 采用英文逗號作為字段分隔符
  2. 可直接用記事本或Excel打開查看
  3. 文件擴(kuò)展名必須為.csv
  4. 在Excel中會自動按逗號分列顯示
  5. 存儲空間占用小
  6. 特別適合存儲大規(guī)模數(shù)據(jù)集

Excel亂碼處理:需將Excel默認(rèn)編碼改為UTF-8

寫入方法:與普通文本文件操作相同,使用open()函數(shù)

實(shí)戰(zhàn)

例題:讀取十二時辰文件

項(xiàng)目任務(wù)

任務(wù)1:用戶輸入時間后,系統(tǒng)自動分析輸出對應(yīng)時間的時辰名、屬相、別名和描述。

任務(wù)2:在任務(wù)1的基礎(chǔ)之上,實(shí)現(xiàn)用戶可以循環(huán)輸入信息,并加入對輸入時間的格式處理操作,當(dāng)輸入時間的格式不正確時,程序?qū)⑤敵?ldquo;輸入時間格式錯誤”。輸入時間格式不正確的情況有小時數(shù)和分鐘數(shù)超出范圍,或者傳遞的不是數(shù)值。

項(xiàng)目實(shí)現(xiàn)步驟

根據(jù)項(xiàng)目任務(wù)要求,首先需要讀取“中國十二時辰.csv”文件內(nèi)容。接著為了識別每一行中各個元素,需要將元素信息存入一個列表,方便根據(jù)用戶輸入的信息來讀取文件信息。

輸出結(jié)果

例題:整理HTML網(wǎng)頁內(nèi)容

項(xiàng)目任務(wù)

任務(wù)1:將中國的所有城市名稱寫入“城市大全.csv”文件,城市名稱之間使用逗號分隔。

任務(wù)2:將每個城市名自動寫入Excel表格的第1行作為表頭,以便于后期繼續(xù)進(jìn)行深入操作。

結(jié)果展示

到此這篇關(guān)于Python中文件常用操作的完整代碼(零基礎(chǔ)就能上手)的文章就介紹到這了,更多相關(guān)Python文件常用操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

英山县| 大庆市| 平顺县| 太保市| 肇源县| 博客| 扎鲁特旗| 尼木县| 丰台区| 贵南县| 齐齐哈尔市| 四会市| 武穴市| 金寨县| 天津市| 双柏县| 普定县| 盐津县| 庆城县| 九寨沟县| 拜城县| 武山县| 汽车| 双流县| 光泽县| 岑巩县| 莱芜市| 兖州市| 介休市| 蓬溪县| 巍山| 陆川县| 兰州市| 大石桥市| 潮州市| 霍林郭勒市| 右玉县| 黑龙江省| 綦江县| 中方县| 宁陵县|