×

python文件操作方法有哪些?

分類:建站推廣 編輯: 瀏覽量:100
2021-07-27 14:34:56
??Python由荷蘭數(shù)學(xué)和計算機(jī)科學(xué)研究學(xué)會的Guido van Rossum于1990 年代初設(shè)計,作為一門叫做ABC語言的替代品。Python提供了高效的高級數(shù)據(jù)結(jié)構(gòu),還能簡單有效地面向?qū)ο缶幊?。Python語法和動態(tài)類型,以及解釋型語言的本質(zhì),使它成為多數(shù)平臺上寫腳本和快速開發(fā)應(yīng)用的編程語言,隨著版本的不斷更新和語言新功能的添加,逐漸被用于獨立的、大型項目的開發(fā)。下面就由新網(wǎng)小編和大家講一講python文件操作方法有哪些。

??一、文件讀取全文本操作

??在一定場景下我們需要把文本全部內(nèi)容讀取出來,進(jìn)行處理。python提供三種函數(shù)讀取文件,分別是read readline readlines,

??read():讀取文件的全部內(nèi)容,加上參數(shù)可以指定讀取的字符。

??readline():讀取文件的一行。

??readlines():讀取文件的所有行到內(nèi)存中。

??不同場景下我們可以選擇不同函數(shù)對文件進(jìn)行讀取。

??1、方法一

??file_name = input("請輸入你要打開的文件的完整路徑及名稱")

??file= open(file_name, "r")

??txt=file.read()

??# 全文本的處理

??file.close()

??使用read函數(shù)將文件中的內(nèi)容全部讀取,放在字符串變量txt中。這樣操作適合于文本較小,處理簡單的情況,當(dāng)文件較大時,這種方式處理時不合適的。一次性讀取較大的文件到內(nèi)存中,會耗費較多的時間和資源。這時候分批處理效果更好。

??2、方法二

??file_name = input("請輸入你要打開的文件的完整路徑及名稱")

??file= open(file_name, "r")

??txt= file.read(4)

??# 文本的處理while txt != ""txt= file.read(4)

??# 批量文本處理

??file.close()

??這種方法適合于分批處理文本信息,每次批量讀入,批量處理,不會對內(nèi)存造成較大的壓力。

??3、方法三

??file_name = input("請輸入你要打開的文件的完整路徑及名稱")

??file= open(file_name, "r")for line infile.readlines():

??# 處理每一行數(shù)據(jù)

??file.close()

??這種處理方式適合處理以行為分割特點的文本,并且文本較小,因為這種處理方式需要一次性把文件所有內(nèi)容讀取到內(nèi)存中。

??4、方法四

??file_name = input("請輸入你要打開的文件的完整路徑及名稱")

??file= open(file_name, "r") # 這里的file時文件句柄for line infile:

??# 處理每一行數(shù)據(jù)

??file.close()

??這種方式和方法三中的區(qū)別是分行讀入,逐行處理,不會一次性把文件所有內(nèi)容都讀入到內(nèi)存中,對一些大文件的處理是很有效的。

??二、文件寫入文本操作

??文件寫入有兩種寫入函數(shù)和一種輔助支持。

??write():向文件中寫入一個字符或者字節(jié)流

??writelines():將一個元素全為字符串的列表寫入到文件中 需要注意的是,writelines寫入列表元素的時候會把列表元素的內(nèi)容拼接到一起寫入,不會有換行和空格 。

??seek(): 輔助寫入函數(shù)offset偏移量參數(shù)代表含義如下

??0 - 文件開頭

??1 - 當(dāng)前位置

??2 - 文件結(jié)尾

??1、方法一

??file_name = input("output.txt", "w+")

??text= "hello world!"file_name.write(text)

??file.close()

??2、方法二

??file_name = input("output.txt", "w+")

??list= ["中午","早上","晚上"]

??file_name.writelines(list)for line infile:

??# 讀取寫入的數(shù)據(jù),這時候發(fā)現(xiàn)是沒有任何內(nèi)容的

??file.close()

??我們增加一行代碼就可以讀取到寫入的文件內(nèi)容,利用seek()函數(shù)調(diào)整寫操作指針的位置,可以實現(xiàn)寫操作之后的正常讀取。

??file_name = input("output.txt", "w+")

??list= ["中午","早上","晚上"]

??file_name.readlines(list)

??file_name.seek(0) # 調(diào)整寫的指針到文件的開始位置for line infile:

??# 讀取寫入的數(shù)據(jù),這時候會讀出一行寫入的數(shù)據(jù)。

??file.close()

??三、如何執(zhí)行python文件

??用文本編輯器寫Python程序,然后保存為后綴為.py的文件,就可以用Python直接運行這個程序了。Python的交互模式和直接運行.py文件有什么區(qū)別呢?

??1、直接輸入python進(jìn)入交互模式,相當(dāng)于啟動了Python解釋器,但是等待你一行一行地輸入源代碼,每輸入一行就執(zhí)行一行。

??2、直接運行.py文件相當(dāng)于啟動了Python解釋器,然后一次性把.py文件的源代碼給執(zhí)行了,你是沒有機(jī)會以交互的方式輸入源代碼的。

??3、用Python開發(fā)程序,完全可以一邊在文本編輯器里寫代碼,一邊開一個交互式命令窗口,在寫代碼的過程中,把部分代碼粘到命令行去驗證,事半功倍!

??Python解釋器易于擴(kuò)展,可以使用C或C++(或者其他可以通過C調(diào)用的語言)擴(kuò)展新的功能和數(shù)據(jù)類型。Python 也可用于可定制化軟件中的擴(kuò)展程序語言。Python豐富的標(biāo)準(zhǔn)庫,提供了適用于各個主要系統(tǒng)平臺的源碼或機(jī)器碼。小伙伴們要想獲得更多python文件操作的內(nèi)容,請關(guān)注新網(wǎng)!

聲明:免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)

送郵件至:operations@xinnet.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時

需注明出處:新網(wǎng)idc知識百科

免費咨詢獲取折扣

Loading