python文件操作的簡單方法總結(jié)
更新時間:2019年11月07日 08:09:56 作者:flag_hw
在本篇文章里小編給大家整理的是關(guān)于python文件操作的簡單方法知識點,有需要的朋友們可以學(xué)習(xí)下。
文件操作1
#文件操作流程:1、打開文件,得到一個文件句柄;通過文件句柄操作文件;關(guān)閉文件。
#將文件打開文件賦給file1,test_file為文件名,utf-8為文件編碼;file1是文件的全量內(nèi)容
data1 = open("test_file",encoding="utf-8").read()
print(data1)
#打開文件,獲取文件句柄file2,后續(xù)通過file2這個文件句柄對文件進(jìn)行各種操作方法,默認(rèn)文件以只讀模式打開,只讀時不能對文件進(jìn)行寫操作
file2 = open("test_file","r",encoding="utf-8")
#一次將文件內(nèi)容全部讀取
date2 = file2.read()
#"w"是以寫模式打開文件,此模式會先清空文件內(nèi)容,此時不能對文件進(jìn)行讀操作
file3 = open("test_file3","w",encoding="utf-8")
file3.write("file3 文件寫\n")
#"a"是文件追加寫模式,此時從文件末尾追加往后面寫
file4 = open("test_file","a",encoding="utf-8")
file4.write("file4 文件追加寫")
#逐行讀文件,readline()或直接對文件句柄進(jìn)行迭代
file5 = open("test_file","r",encoding="utf-8")
for i in range(5):
print(file5.readline())
#下面將文件句柄直接進(jìn)行迭代,文件句柄也是迭代器
for line in file5:
print(line)
文件操作2
#返回當(dāng)前文件操作的位置信息,返回的是字符的數(shù)量
print(file5.tell())
#手工移動文件操作的當(dāng)前位置,位置信息為seek的實參
file5.seek(10)
#輸出文件當(dāng)前編碼,即打開時使用的編碼
print(file5.encoding)
#輸出文件名稱
print(file5.name)
#判斷文件是否可讀,返回布爾類型,與文件打開時指定的打開模式相關(guān)
print(file5.readable())
#判斷文件是否可寫,返回布爾類型,與文件打開時指定的打開模式相關(guān)
print(file5.writable())
#將文件寫的內(nèi)容強(qiáng)制刷到硬盤
file5.flush()
#判斷文件是否關(guān)閉,返回布爾類型
print(file5.closed)
#默認(rèn)清空文件內(nèi)容,傳遞實參的話就是從文件開頭截斷多少字符,總是從文件開頭開始截斷,不論當(dāng)前文件讀寫所處的位置
#file5.truncate()
#文件讀寫模式“r+”,讀是從文件開頭讀,寫是從文件末尾往后寫,操作文件位置指針是讀的位置,只能繼續(xù)往文件后面追加寫
#文件寫讀模式“w+”,先創(chuàng)建新文件然后寫,寫了以后可以讀。操作文件位置指針是讀的位置,只能繼續(xù)往文件后面追加寫
#以二進(jìn)制讀取文件“rb”,打開文件時沒有encoding這個參數(shù)
file6 = open("binary_file","wb")
#二進(jìn)制模式打開文件向?qū)懭霑r需要將字符串轉(zhuǎn)換為二進(jìn)制,否則寫報錯
file6.write("binary file".encode(encoding="utf-8"))
#文件的修改
#方法1將文件一次全部讀取在使用replace,將這個文件修改后的值返回,不修改原文件
data4 = open("test_file4",encoding="utf-8").read()
print(data4.replace("789","7788991010",2))
print(data4)
#方法2逐行讀取做判斷,寫入到一個新文件
file7 = open("test_file4","r",encoding="utf-8")
file8 = open("test_file4_new","w",encoding="utf-8")
for line in file7:
if "789" in line:
line = line.replace("789","7788991010")
file8.write(line)
file7.close()
file8.close()
知識點擴(kuò)展:
print("->文件句柄的獲取,讀操作:")
f = open('無題','r',encoding='utf8')
d = f.read()
f.close()
print(d)
print('->例二:')
f = open('無題','r',encoding='utf8')
e = f.read(9)
f.close()
print(e)
#python3中,文件中一個中英文都占位1
運行結(jié)果:
復(fù)制代碼
->文件句柄的獲取,讀操作: 昨夜星辰昨夜風(fēng) 畫樓西畔桂堂東 身無彩鳳雙飛翼 心有靈犀一點通 ->例二: 昨夜星辰昨夜風(fēng) 畫
以上方法很簡單,感謝大家的學(xué)習(xí)和對腳本之家的支持。
相關(guān)文章
基于Mediapipe+Opencv實現(xiàn)手勢檢測功能
mediaPipe,他就是一個集成好的包括人臉關(guān)鍵位點識別、身體關(guān)鍵位點識別、手部關(guān)鍵位點識別的一個包或者庫,直接調(diào)用就能夠得到它的關(guān)鍵位點信息,本文給大家介紹Mediapipe+Opencv實現(xiàn)手勢檢測功能,感興趣的朋友一起看看吧2022-01-01
Python collections.defaultdict模塊用法詳解
這篇文章主要介紹了Python collections.defaultdict模塊用法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06
Python多進(jìn)程入門、分布式進(jìn)程數(shù)據(jù)共享實例詳解
這篇文章主要介紹了Python多進(jìn)程入門、分布式進(jìn)程數(shù)據(jù)共享,結(jié)合實例形式詳細(xì)分析了Python進(jìn)程操作技巧數(shù)據(jù)共享相關(guān)實現(xiàn)技巧與注意事項,需要的朋友可以參考下2019-06-06
Python編程實現(xiàn)的簡單神經(jīng)網(wǎng)絡(luò)算法示例
這篇文章主要介紹了Python編程實現(xiàn)的簡單神經(jīng)網(wǎng)絡(luò)算法,結(jié)合實例形式分析了神經(jīng)網(wǎng)絡(luò)算法的原理及Python相關(guān)算法實現(xiàn)技巧,需要的朋友可以參考下2018-01-01
基于PyTorch實現(xiàn)一個簡單的CNN圖像分類器
本文記錄了一個簡單的基于pytorch的圖像多分類器模型構(gòu)造過程,參考自Pytorch官方文檔、磐創(chuàng)團(tuán)隊的《PyTorch官方教程中文版》以及余霆嵩的《PyTorch 模型訓(xùn)練實用教程》。從加載數(shù)據(jù)集開始,包括了模型設(shè)計、訓(xùn)練、測試等過程。2021-05-05

