使用Python寫(xiě)入內(nèi)容到制定文件
寫(xiě)入文件
利用文件對(duì)象提供的 write() 方法,可以向文件中寫(xiě)入內(nèi)容。 語(yǔ)法格式如下: file.write(string) 其中,fle 為打開(kāi)的文件對(duì)象: string 為要寫(xiě)入的字符串。
f=open('word.txt', 'a+')
# 以追加的方式打開(kāi)文件
# 將信息寫(xiě)入文件
f.write("有時(shí)候你覺(jué)得特別難,也許因?yàn)橛懈蟮氖斋@')
f.close()
# 關(guān)閉文件有的時(shí)候,需要以指定的編碼格式(如UTF-8)將內(nèi)容寫(xiě)入文件。 如將書(shū)名“Python 實(shí)效編程百例寫(xiě)入到book.txt 后保存編碼格式為“utf-8”, 實(shí)現(xiàn)代碼如下:
with open('book.txt','w', encoding='utf-8') as file:
file.write('Python 實(shí)效編程百例'+'\n')
# 寫(xiě)入內(nèi)容后換行就要加\n使用with 語(yǔ)句處理文件
打開(kāi)文件后,要及時(shí)將其關(guān)閉。如果忘記關(guān)閉可能會(huì)出現(xiàn)意想不到的問(wèn)題。 另外,如果在打開(kāi)文件時(shí)拋出了異常,那么將導(dǎo)致文件不能被及時(shí)關(guān)閉。 無(wú)論是否拋出異常,with 語(yǔ)句執(zhí)行完畢后關(guān)閉已經(jīng)打開(kāi)的文件。 with 語(yǔ)句的語(yǔ)法格式如下:
with expression as target: with-body
參數(shù)說(shuō)明: expression:用于指定一個(gè)表達(dá)式,這里可以是打開(kāi)文件的 open()函數(shù) target:用于指定一個(gè)變量,并且將expression 的結(jié)果保存到該變量中 with-body: 用于指定 with 語(yǔ)句體,其中可以是執(zhí)行 with 語(yǔ)句后相關(guān)的一些操作語(yǔ)句。 如果不想執(zhí)行任何語(yǔ)句,可以直接使用 pass 語(yǔ)句代替。
print("\n","="*10,"Python經(jīng)典應(yīng)用","="*10)
with open('message.txt', 'w') as file:
# 創(chuàng)建或打開(kāi)保存Python經(jīng)典應(yīng)用信息的文件
pass
print("\n 即將顯示..... \n")規(guī)避常見(jiàn)的錯(cuò)誤操作
1.規(guī)避文件不存在的陷阱
在默認(rèn)的情況下,使用 open()函數(shù)打開(kāi)一個(gè)不存在的文件,會(huì)拋出異常錯(cuò)誤。 可以使用 os.path模塊提供的 exists()函數(shù)判斷文件是否存在。 例如讀取文件 book.txt,如果文件存在,讀取文件并輸出內(nèi)容; 如果文件不存在,則新建 book.txt 文件。實(shí)現(xiàn)代碼如下:
import os
if os.path.exists('book.txt'):
with open('book.txt', 'r') as file:
for line in file:
print(line)
else:
file =open('book.txt')
file.close()2.規(guī)避讀取不同編碼格式文件時(shí)的陷阱
由于文件保存格式的不同,在讀取文件時(shí)如果格式不正確,將會(huì)出現(xiàn)亂碼問(wèn)題或拋出異常。 1.在打開(kāi)文件時(shí)指定文件的格式 例如讀取文件格式為“gbk”的文件(“maintxt”),在打開(kāi)文件時(shí)設(shè)置編碼格式為“encoding=‘GBK’”
try:
with open('book.txt', 'r',encoding='GBK') as file:
for line in file:
print(line)
except Exception:
with open('book.txt', 'r', encoding='UTF-8') as file:
for line in file:
print(line,2)3.以二進(jìn)制打開(kāi)文件,然后對(duì)讀取的內(nèi)容進(jìn)行編碼
用 Python 讀取文件經(jīng)常會(huì)出現(xiàn)字符編碼錯(cuò)誤,用二進(jìn)制方式打開(kāi)文件,就不會(huì)出現(xiàn)錯(cuò)誤了。但需要在讀取文件時(shí)進(jìn)行編碼。 首先使用 isimstance()函數(shù)判斷讀取的內(nèi)容是否為 str 類(lèi)型,如果是,則直接讀取文件內(nèi)容.如果不是,則使用異常處理程序嘗試使用“utf-8”方式解碼,否則采用“gbk”方式解碼。實(shí)現(xiàn)代碼如下:
with open('book.txt', 'rb') as file:
lines = file.read()
if isinstance(lines, str):
print(new)
else:
try:
new = lines.decode("utf-8")
print(new)
except:
try:
new = lines.decode("gbk")
print(new)
except:
pass4.強(qiáng)制以某種模式讀取文件,忽略編碼錯(cuò)誤
有時(shí)我們需要以某種格式讀取指定文件,而忽略編碼錯(cuò)誤帶來(lái)的亂碼問(wèn)題。例如以二進(jìn)制方式讀取文件“maintxt”中的內(nèi)容,然后以“gbk”編碼強(qiáng)制讀取該文件,實(shí)現(xiàn)代碼如下:
with open('book.txt', 'rb') as file:
article = file.read()
new = article.decode('gbk',errors='ignore')
print(new)到此這篇關(guān)于使用Python寫(xiě)入內(nèi)容到制定文件的文章就介紹到這了,更多相關(guān)Python寫(xiě)入文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Conda創(chuàng)建新環(huán)境的詳細(xì)圖文教程
Anaconda功能龐大,其可以理解為一個(gè)工具,也是一個(gè)可執(zhí)行命令,下面這篇文章主要給大家介紹了關(guān)于Conda創(chuàng)建新環(huán)境的詳細(xì)圖文教程,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01
python實(shí)現(xiàn)簡(jiǎn)單成績(jī)錄入系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡(jiǎn)單成績(jī)錄入系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09
Python數(shù)學(xué)建模PuLP庫(kù)線(xiàn)性規(guī)劃實(shí)際案例編程詳解
本節(jié)以一個(gè)實(shí)際數(shù)學(xué)建模案例,來(lái)為大家講解PuLP求解線(xiàn)性規(guī)劃問(wèn)題的建模與編程。來(lái)鞏固加深大家對(duì)Python數(shù)學(xué)建模PuLP庫(kù)線(xiàn)性規(guī)劃的運(yùn)用理解2021-10-10
Python爬蟲(chóng)使用Selenium+PhantomJS抓取Ajax和動(dòng)態(tài)HTML內(nèi)容
這篇文章主要介紹了Python爬蟲(chóng)使用Selenium+PhantomJS抓取Ajax和動(dòng)態(tài)HTML內(nèi)容,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02
Python使用NumPy創(chuàng)建數(shù)組的完全指南
如果把機(jī)器學(xué)習(xí)比作精彩的冒險(xiǎn)旅程,那 NumPy 就是出發(fā)前必學(xué)的基礎(chǔ)技能課,缺一不可,今天這篇,從數(shù)組創(chuàng)建到變形運(yùn)算,一次性把NumPy的基礎(chǔ)打扎實(shí),地基穩(wěn)了,后面蓋樓才不慌,需要的朋友可以參考下2026-06-06

