溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Python有哪些處理文件的基本操作

發(fā)布時(shí)間:2020-08-25 14:08:46 來(lái)源:億速云 閱讀:167 作者:Leah 欄目:編程語(yǔ)言

本篇文章給大家分享的是有關(guān)Python有哪些處理文件的基本操作,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

一、什么是文件

Python有哪些處理文件的基本操作

等等這些都叫做文件,各種格式的。但不僅僅限制于這些。

二、文件的作用

大家應(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")

Python有哪些處理文件的基本操作

關(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)。

Python有哪些處理文件的基本操作

注意:如果文件不存在那么創(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è)元素。

Python有哪些處理文件的基本操作

目前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è)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI