讀寫文件是最常見的IO操作。Python內(nèi)置了讀寫文件的函數(shù),用法和C是兼容的。
江海網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)從2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
#文件操作,創(chuàng)建文件對(duì)象,通過open()函數(shù)創(chuàng)建文件對(duì)象
mode:代表文件要執(zhí)行的操作的類型
r:讀模式
w:寫模式(每次寫入文件之前都會(huì)先將文件中的內(nèi)容清空,之后重新寫入)
a:添加模式(每次寫入文件時(shí),不會(huì)清空文件內(nèi)容)
import time;
#encoding=utf-8 文件操作的字符編碼
file=open('hiahia','r',encoding='utf-8');
#只能做讀操作 read方法是讀取文件中所有的內(nèi)容 (不適用)
print('文件中的內(nèi)容有:%s'%file.read());
#readline 讀取一行的內(nèi)容 (適用)
print('文件中的第一行的內(nèi)容為:%s'%file.readline())
#readlines讀取一行的內(nèi)容,會(huì)將文件中每一行的內(nèi)容生成為列表中的一個(gè)元素 (不適用)
lists=file.readlines();
for line in lists:
print("行內(nèi)容為:%s"%line)
#在操作完隊(duì)友的文件對(duì)象時(shí),一定要關(guān)閉文件對(duì)象
file.close();#寫入模式的時(shí)候,沒有執(zhí)行close方法,內(nèi)容不會(huì)持久化保存到文件中
#如果不寫close,默認(rèn)解釋器自動(dòng)幫你關(guān)閉文件,但是將損耗更多的解釋器性能
#寫模式(w):寫入內(nèi)容,會(huì)將文件的原始內(nèi)容清空
file1=open('hiahia','w',encoding='utf-8');
#寫入的方法
file1.write('hiahia is hiahia')
time.sleep(10)#python為單線程工作,休眠當(dāng)前線程,延緩程序執(zhí)行close方法
file1.close();#在python程序中,如果用戶沒有手動(dòng)去close文件對(duì)象,那么python會(huì)在底層,自動(dòng)幫你close
print('休眠已結(jié)束!')
#添加模式(a):寫入內(nèi)容,不會(huì)修改文件的原內(nèi)容
file2=open('hiahia','a',encoding='utf-8')
file2.write("\n山間的風(fēng)");
file2.close();
#困擾:每次在創(chuàng)建完file對(duì)象的時(shí)候 都要調(diào)用close關(guān)閉
#with語(yǔ)句會(huì)在末尾自動(dòng)關(guān)閉文件對(duì)象
with open('HelloWorld','r',encoding='utf-8') as file:
print(file.read())
#這時(shí)無(wú)需關(guān)閉 文件對(duì)象了!
#r+(讀寫模式) w+(寫讀模式) a+(追加讀模式)
#讀寫模式:既能寫,又能讀。以讀為主,以寫為輔
with open('hiahia','r+',encoding='utf-8') as file:
print(file.read())#讀取文件內(nèi)容
file.write('hehe')#寫讀模式會(huì)將寫入的內(nèi)容放置在文件內(nèi)容的末尾處#從文件的開頭覆蓋文件的原始內(nèi)容
#寫讀模式:可讀可寫,清空文件后寫入
with open('hiahia','w+',encoding='utf-8') as file:
file.write('hello python!')
file.write('\nhello python!')
#seek方法的作用是移動(dòng)文件的句柄0代表句柄中的起始位置
file.seek(0)
print(file.read())
#追加讀模式:最合適的既能寫又能讀的模式,追加在文件的末尾處
with open('hiahia','a+',encoding='utf-8') as file:
file.write('hiahiahiahiahia');
file.seek(0)
#tell查詢當(dāng)前文件句柄的值number
print(file.read())
#tell:獲取當(dāng)前文件指針的位置(在傳輸發(fā)生異常的時(shí)候 記錄 當(dāng)前文件指針的位置)
#seek:設(shè)置當(dāng)前文件指針(開始續(xù)傳的時(shí)候 seek重新定位文件(tell)) 斷點(diǎn)續(xù)傳:在兩臺(tái)主機(jī)傳輸文件的過程中 如果有一臺(tái)主機(jī)發(fā)生了故障 那么 文件會(huì)終止傳輸 那么在程序回復(fù)正常的時(shí)候 再次傳輸文件
#是否需要將文件重新傳輸 500MB文件
#turncate:截?cái)辔募?清空文件中的內(nèi)容
with open('hiahia','r',encoding='utf-8') as file:
print('文件的默認(rèn)位置:%s'%file.tell())
print(file.read(10))#讀取文件內(nèi)容
print('現(xiàn)在指針的位置:%s'%file.tell())
file.seek(0)
print(file.read())
#turncate方法的作用 在寫模式 或讀寫模式下
with open('HelloWorld','r+',encoding='utf-8') as file:
file.truncate();
名稱欄目:Python文件讀寫
瀏覽地址:http://jinyejixie.com/article46/ghohhg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、虛擬主機(jī)、網(wǎng)站排名、外貿(mào)建站、做網(wǎng)站、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)