您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)Python有哪些處理文件的基本操作,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
一、什么是文件
等等這些都叫做文件,各種格式的。但不僅僅限制于這些。
二、文件的作用
大家應(yīng)該聽(tīng)說(shuō)過(guò)一句話:“好記性不如爛筆頭”。
不僅人的大腦會(huì)遺忘事情,計(jì)算機(jī)也會(huì)如此,比如一個(gè)程序在運(yùn)行過(guò)程中用了九牛二虎之力終于計(jì)算出了結(jié)果,試想一下如果不把這些數(shù)據(jù)存放起來(lái),相比重啟電腦之后,“哭都沒(méi)地方哭了”,可見(jiàn),在把數(shù)據(jù)存儲(chǔ)起來(lái)有做么大的價(jià)值。
使用文件的目的:就是把一些存儲(chǔ)存放起來(lái),可以讓程序下一次執(zhí)行的時(shí)候直接使用,而不必重新制作一份,省時(shí)省力。
三、文件的打開(kāi)與關(guān)閉
想一想:如果想用word編寫(xiě)一份簡(jiǎn)歷,應(yīng)該有哪些流程呢?
1.打開(kāi)word軟件,新建一個(gè)word文件
2.寫(xiě)入個(gè)人簡(jiǎn)歷信息
3.保存文件
4.關(guān)閉word軟件
同樣,在操作文件的整體過(guò)程與使用word編寫(xiě)一份簡(jiǎn)歷的過(guò)程是很相似的。
1.打開(kāi)文件,或者新建立一個(gè)文件
2.讀/寫(xiě)數(shù)據(jù)
3.關(guān)閉文件
在python,使用open()函數(shù),可以打開(kāi)一個(gè)已經(jīng)存在的文件,或者創(chuàng)建一個(gè)新文件:
open(文件名,訪問(wèn)模式)
f = open("testFile.txt","w")
關(guān)閉文件使用close()
#創(chuàng)建或打開(kāi)一個(gè)文件 f = open("testFile.txt","w") #關(guān)閉文件 f.close()
四、文件的讀寫(xiě)
1、寫(xiě)數(shù)據(jù)write()
#創(chuàng)建或打開(kāi)一個(gè)文件 f = open("testFile.txt","w") #往文件中寫(xiě)入數(shù)據(jù) f.write("Hello I am Se7eN_HOU") #關(guān)閉文件 f.close()
說(shuō)明:如果僅僅寫(xiě)open()函數(shù)是不會(huì)創(chuàng)建文件的,要往里面寫(xiě)入數(shù)據(jù),文件才會(huì)出現(xiàn)。
注意:如果文件不存在那么創(chuàng)建,如果存在那么就先清空,然后寫(xiě)入數(shù)據(jù)。
2、讀取數(shù)據(jù)read()
使用read(num)可以從文件中讀取數(shù)據(jù),num表示要從文件中讀取的數(shù)據(jù)的長(zhǎng)度(單位是字節(jié)),如果沒(méi)有傳入num,那么就表示讀取文件中所有的數(shù)據(jù)。
#創(chuàng)建或打開(kāi)一個(gè)文件 f = open("testFile.txt","r") #讀取前五個(gè)字節(jié)的數(shù)據(jù) content1 = f.read(5) #讀取全部數(shù)據(jù) content2 = f.read() print(content1) print(content2) #關(guān)閉文件 f.close()
運(yùn)行結(jié)果為:
Hello I am Se7eN_HOU
如果open是打開(kāi)一個(gè)文件,那么可以不用寫(xiě)打開(kāi)的模式,即只寫(xiě)open(“testFile.txt”)
如果使用讀了多次,那么后面讀取的數(shù)據(jù)是從上次讀完后的位置開(kāi)始的。
3、讀數(shù)據(jù)readlines()
就像read沒(méi)有參數(shù)時(shí)一樣,readlines可以按照行的方式把整個(gè)文件中的內(nèi)容進(jìn)行一次性讀取,并且返回的是一個(gè)列表,其中每一行的數(shù)據(jù)為一個(gè)元素。
目前testFile.txt里面有四行內(nèi)容,代碼讀取如下:
f = open("testFile.txt") content = f.readlines() print(type(content)) i=1 for temp in content: print("%d:%s"%(i,temp)) #關(guān)閉文件 f.close()
運(yùn)行結(jié)果為:
<class 'list'> 1:Hello I am Se7eN_HOU1 1:Hello I am Se7eN_HOU2 1:Hello I am Se7eN_HOU3 1:Hello I am Se7eN_HOU4
4、讀數(shù)據(jù)readline()
按行讀取,一次讀取一行數(shù)據(jù)
f = open("testFile.txt") content = f.readline() print("1:%s"%content) content = f.readline() print("2:%s"%content) content = f.readline() print("3:%s"%content) content = f.readline() print("4:%s"%content) f.close()
運(yùn)行結(jié)果為:
1:Hello I am Se7eN_HOU1 2:Hello I am Se7eN_HOU2 3:Hello I am Se7eN_HOU3 4:Hello I am Se7eN_HOU4
五、文件的定位
1、獲取當(dāng)前讀寫(xiě)的位置
f = open("testFile.txt") str = f.read(3) print("讀取的數(shù)據(jù)是%s"%str) #獲取當(dāng)前文件讀取的位置 position = f.tell() print("當(dāng)前文件的位置%s"%position) #再往后接著讀取7個(gè)數(shù)據(jù) str = f.read(7) print("讀取的數(shù)據(jù)是%s"%str) #再次獲取當(dāng)前文件讀取的位置 position = f.tell() print("當(dāng)前文件的位置%s"%position) f.close()
運(yùn)行結(jié)果為:
讀取的數(shù)據(jù)是Hel 當(dāng)前文件的位置3 讀取的數(shù)據(jù)是lo I am 當(dāng)前文件的位置10
2、定位到某個(gè)位置
如果在讀寫(xiě)文件的過(guò)程中,需要從另外一個(gè)位置進(jìn)行操作的話,可以使用seek()。
seek(offset, from)有2個(gè)參數(shù):
offset:偏移量
from:方向
0:表示文件開(kāi)頭
1:表示當(dāng)前位置
2:表示文件末尾
例如:把位置設(shè)置為:從文件開(kāi)頭,偏移5個(gè)字節(jié)。
f = open("testFile.txt") str = f.read(20) print("讀取的數(shù)據(jù)是%s"%str) #獲取當(dāng)前文件讀取的位置 position = f.tell() print("當(dāng)前文件的位置%s"%position) #重新設(shè)置位置 f.seek(5,0) #重新獲取當(dāng)前文件讀取的位置 position = f.tell() print("當(dāng)前文件的位置%s"%position) f.close()
運(yùn)行結(jié)果為:
讀取的數(shù)據(jù)是Hello I am Se7eN_HOU 當(dāng)前文件的位置20 當(dāng)前文件的位置5
六、文件的重命名
有些時(shí)候,需要對(duì)文件進(jìn)行重命名、刪除等一些操作,python的os模塊中都有這么功能。
語(yǔ)法格式: rename(需要修改的文件名, 新的文件名)
import os os.rename("testFile.txt","TestFile.txt")
七、刪除文件
remove(待刪除的文件名)
import os os.remove("TestFile.txt")
八、文件夾的相關(guān)操作
實(shí)際開(kāi)發(fā)中,有時(shí)需要用程序的方式對(duì)文件夾進(jìn)行一定的操作,比如創(chuàng)建、刪除等。
就像對(duì)文件操作需要os模塊一樣,如果要操作文件夾,同樣需要os模塊。
1、創(chuàng)建文件夾
import os #在C盤(pán)下創(chuàng)建一個(gè)Se7eN_HOU的文件夾 os.mkdir("C:\\Se7eN_HOU")
2、獲取當(dāng)前目錄
import os print(os.getcwd())
3、獲取目錄列表
import os print(os.listdir("C:/"))
4、刪除文件夾
import os os.rmdir("C:/Se7eN_HOU")
以上就是Python有哪些處理文件的基本操作,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。