真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python如何修改文件

Python如何修改文件?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

Python修改文件的兩種方法

目錄:

一、以占用內(nèi)存的方式修改文件

二、以占用硬盤(pán)的方式修改文件

引言

文件修改的方法從操作方式上大致可以分為兩類(lèi),一種是以占用電腦內(nèi)存的方式,將文件讀取到內(nèi)存中修改再存回硬盤(pán);第二種方法是分別打開(kāi)和新建一個(gè)文件,修改文件后寫(xiě)入到新的文件中,直接保存到硬盤(pán),即占用硬盤(pán)的方式。下面我們分別來(lái)探討一下兩種方法。

一、以占用內(nèi)存的方式修改文件

待修改的文件 word1.txt,文件內(nèi)容如下:

沉默良久,這個(gè)為某種超出人類(lèi)理解力的力量代言的女人,冷酷地封死了汪淼的一切出路。

  “三天后,也就是14日,在凌晨1點(diǎn)鐘至5點(diǎn)鐘,整個(gè)宇宙將為你閃爍?!?

  他正坐在王府井天主教堂前。在黎明慘白的天空下,教堂的三個(gè)羅馬式尖頂像三根黑色的巨指,似乎在為他指出冥冥太空中的什么
  東西。

  汪淼起身要走,一陣從教堂傳出的圣樂(lè)留住了他。今天不是禮拜日,這可能是唱詩(shī)班為復(fù)活節(jié)進(jìn)行的排練,唱的是這個(gè)節(jié)日彌撒中
  常唱的《圣靈光照》。在圣樂(lè)的莊嚴(yán)深遠(yuǎn)中,汪淼再次感到宇宙變小了,變成了一座空曠的教堂,穹頂隱沒(méi)于背景輻射閃爍的紅光
  中,而他則是這宏偉教堂地板磚縫中的一只小螞蟻。他感覺(jué)到自己那顆顫抖的心靈被一只無(wú)形的巨手撫摸著,一時(shí)間回了脆弱無(wú)助
  的孩童時(shí)代,意識(shí)深處硬撐著的某種東西像蠟一樣變軟了,崩潰了,他雙手捂著臉哭了起來(lái)。

  “如果有人祈求佛主保佑另一個(gè)主,這是怎么回事呢?”我問(wèn),然后詳細(xì)地說(shuō)了事情的經(jīng)過(guò)。

  長(zhǎng)老默默地看著自己手中的書(shū),但顯然沒(méi)有讀,而是在想我說(shuō)的事,然后他說(shuō):“你先出去一會(huì)兒,讓我想想?!蔽肄D(zhuǎn)身走出門(mén)去
  ,知道這很不尋常:長(zhǎng)老學(xué)識(shí)深厚,一般的關(guān)于宗教、歷史和文化的問(wèn)題,他都能不假思索地立即回答。我在門(mén)外等了有一根煙
  的時(shí)間,長(zhǎng)老叫我回去。

  “我感覺(jué)只有一種可能?!彼裆珖?yán)峻地說(shuō)。

  “什么?會(huì)是什么呢?難道可能有這種宗教,它的主需要其教徒祈求其它宗教的主來(lái)拯救?”

  “她的那個(gè)主,是真實(shí)存在的。”

  我走出長(zhǎng)老的門(mén),穿過(guò)寺院朝自己的住處走去,這夜是滿月,我抬頭看看月亮,感覺(jué)那是盯著我看的一只銀色的怪眼,月光帶著一
  股陰森的寒氣。

  秦始皇、牛頓、馮.諾伊曼和汪淼站在金字塔頂部的平臺(tái)上,這個(gè)平臺(tái)與汪淼和墨子相遇時(shí)的很相似,架設(shè)著大量的天文觀測(cè)儀器
  ,其中有一部分是歐洲近代的設(shè)備。在他們下方,三千萬(wàn)秦國(guó)軍隊(duì)宏偉的方陣鋪展在大地上,這是一個(gè)邊長(zhǎng)6公里的正方形。在初
  升的太陽(yáng)下,方陣凝固了似的紋絲不動(dòng),仿佛一張由三千萬(wàn)個(gè)兵馬俑構(gòu)成的巨毯,但飛翔的鳥(niǎo)群誤入這巨毯上空時(shí),立刻感到了下
  方濃重的殺氣,鳥(niǎo)群頓時(shí)大亂,驚慌混亂地退飛或繞行。汪淼在心里算了算,如果全人類(lèi)站成這樣一個(gè)方陣,面積也不過(guò)是上海浦
  東大小,比起它表現(xiàn)的力量,這方陣更顯示了文明的脆弱。

  汪淼聽(tīng)到一種不間斷的類(lèi)似于雷聲的轟鳴,這聲音是朝歌的大地上許多奇怪的東西發(fā)出的,那是一個(gè)個(gè)巨大的單擺,每個(gè)都有幾十
  米高,單擺的擺錘是一塊塊巨石,被一大束繩索吊在架于兩座細(xì)高石塔間的天橋上,每座單擺都在擺動(dòng)中,驅(qū)動(dòng)它們的是一群群身
  穿盔甲的士兵,每個(gè)巨擺下都有這樣一群士兵,他們合著奇怪的號(hào)子,齊力拉動(dòng)系在巨石擺錘上的繩索,維持著它的擺動(dòng)。汪淼發(fā)
  現(xiàn),所有巨擺的擺動(dòng)都是同步的,遠(yuǎn)遠(yuǎn)看去,這景象怪異得使人著迷,像大地上豎立著一座座走動(dòng)的鐘表,又像自天而降的許多巨
  大的抽象符號(hào)。

  “這是伏曦,”紂王對(duì)剛進(jìn)來(lái)的周文王和汪淼介紹那位黑衣人,仿佛他們一直就在那兒似的,而黑衣人才是新來(lái)的,“他認(rèn)為,太
  陽(yáng)是脾氣怪戾的大神,他醒著的時(shí)候喜怒無(wú)常,是亂紀(jì)元;睡著時(shí)呼吸均勻,是恒紀(jì)元。伏曦建議建起了外面那些大擺,日夜不停
  地?cái)[動(dòng),聲稱(chēng)這對(duì)太陽(yáng)神有強(qiáng)烈的催眠作用,能使其陷入漫長(zhǎng)的沉睡。但直到現(xiàn)在,我們看到太陽(yáng)神仍醒著,最多只是不時(shí)打打盹
  。”

  一個(gè)大人和一個(gè)小孩兒站在死于武斗的紅衛(wèi)兵的墓前,那孩子問(wèn)大人:他們是烈士嗎?大人說(shuō)不是;孩子又問(wèn):他們是敵人嗎?大
  人說(shuō)也不是;孩子再問(wèn):那他們是什么?大人說(shuō):是歷史。

  伊文斯高舉一只拳頭,對(duì)著人群喊道:“消滅人類(lèi)暴政!”

  和著濤聲和天線在風(fēng)中的轟鳴,三體戰(zhàn)士們齊聲高呼:“世界屬于三體!”這一天,被公認(rèn)為地球三體運(yùn)動(dòng)的誕生日。

我現(xiàn)在要將文中的“汪淼”修改為“WM”,代碼如下:

#!-*-coding:utf-8-*-
old_str = '汪淼'
new_str = 'WM'
f1 = open('word1.txt','r+',encoding="utf-8")  # 以讀寫(xiě)方式打開(kāi),可讀可寫(xiě)
data = f1.read()  # 讀取文件內(nèi)容
print(f1.tell()) # 4574 tell() 方法返回文件的當(dāng)前位置,即文件指針當(dāng)前位置。
f1.seek(0) # seek() 方法用于移動(dòng)文件讀取指針到指定位置。
for i in data: # 循環(huán)讀取
    if old_str in data:
        data=data.replace(old_str,new_str)  # 用新字符串替換舊字符串
print(data)  # 打印修改后的內(nèi)容
f1.write(data) # 向文件中寫(xiě)入內(nèi)容(data),默認(rèn)是utf-8
f1.truncate()  # 用于截?cái)辔募?,如果指定了可選參數(shù) size,則表示截?cái)辔募?nbsp;size 個(gè)字符。 如果沒(méi)有指定 size,
則從當(dāng)前位置起截?cái)?;截?cái)嘀?nbsp;size 后面的所有字符被刪除。
f1.close()  # 關(guān)閉文件

二、以占用硬盤(pán)的方式修改文件

待修改的文件 word2.txt,文件內(nèi)容如下:

一片白云,云被風(fēng)吹到波束范圍外后就消散了,但新的云仍不斷在波束內(nèi)產(chǎn)生,使得那一片圓形的天空像是通向另一個(gè)云霧宇宙的時(shí)空
蝕洞,孩子看到后說(shuō)它像 一位巨人爺爺?shù)陌最^發(fā)。      
羅輯和莊顏跟著在草地上奔跑的孩子,來(lái)到了天線下面。最初的兩個(gè)引力波系統(tǒng)分別建在歐洲和北美,它們的天線采用磁懸浮,只能從
基座上懸起幾厘米;而這個(gè)天線采用反重力,如果愿意,它可以一直升到太空中。
三人站在天線下方 的草地向上望,巨大的圓柱體從他們頭頂向前方伸延,像是從兩側(cè)向上卷曲的天空。
由于半徑很大,底面弧度很小,上面的映像并不失真。
這時(shí)夕陽(yáng)已經(jīng)照到天線下面,羅輯在映像中看到莊顏的長(zhǎng)發(fā)和白裙在金色的陽(yáng)光中飄動(dòng),像一個(gè)從天 空俯視地面的天使。
羅輯把孩子舉起來(lái),她的小手摸到了天線光潔的表面,她使勁向一個(gè)方向推著。       
“我能讓它轉(zhuǎn)起來(lái)嗎?”       
“如果你推的時(shí)間足夠長(zhǎng),它會(huì)轉(zhuǎn)的。”莊顏回答,然后微笑著看著羅輯問(wèn),“是嗎?”
    羅輯對(duì)莊顫點(diǎn)點(diǎn)頭:“如果時(shí)間足夠長(zhǎng),她能推動(dòng)地球呢?!?nbsp;     
    像已經(jīng)無(wú)數(shù)次發(fā)生過(guò)的那樣,他們的目光又交織在一起,這是兩個(gè)世紀(jì)前在蒙娜麗莎的微笑中那次對(duì)視的繼續(xù)。
    他們發(fā)現(xiàn)莊顏設(shè)想的目光語(yǔ)言真的變成了現(xiàn)實(shí),或者說(shuō)相愛(ài)的人類(lèi)早就擁有了這種語(yǔ)言。
    當(dāng)他們對(duì)視時(shí),豐富的涵義從目光 中涌出,就像引力波束形成的云之井中涌出的白云一般,無(wú)休無(wú)止。
    但這不是這個(gè)世界的語(yǔ)言,它本身就構(gòu)筑了一個(gè)使自己有意義的世界,只有在那個(gè)玫瑰色的世界中,這種語(yǔ)言的所有詞匯才能找到
    對(duì)應(yīng)物。
    那個(gè)世界中的每一個(gè)人都是上帝, 都能在瞬間數(shù)清沙漠中的每一粒沙并記住它們,都能把星星串成晶瑩的項(xiàng)鏈掛到愛(ài)人的頸上...     
    這就是愛(ài)嗎?      
    這行字顯現(xiàn)在他們旁邊一個(gè)突然出現(xiàn)的低維展開(kāi)的智子上,這個(gè)鏡面球體仿佛是上方的圓柱體某處融化后滴下的一滴。
    羅輯認(rèn)識(shí)的三體人并不多,不知道現(xiàn)在與他對(duì)話的是誰(shuí),不知道這位外星人是在三體世界還是在日益遠(yuǎn)離太陽(yáng)系的艦隊(duì)中。
   “應(yīng)該是吧。”羅輯徽笑著點(diǎn)點(diǎn)頭。      
   羅輯博士,我是來(lái)向你抗議的。       
   “為什么?”      
   因?yàn)樵谧蛱焱砩系难葜v中,你說(shuō)人類(lèi)遲遲未能看清宇宙的黑暗森林狀態(tài),并不是由于文明進(jìn)化不成熟而缺少宇宙意識(shí),而是因?yàn)槿?
   類(lèi)有愛(ài)。       
   “這不對(duì)嗎?” 
   對(duì),雖然“愛(ài)”這個(gè)詞用在科學(xué)論述中涵義有些模糊,但你后面的一句話就不對(duì)了,你說(shuō)很可能人類(lèi)是宇宙中唯一擁有愛(ài)的種族,正
   是這個(gè)想法,支撐著你走完了自己面壁者使命中最艱難的一段。       
   “當(dāng)然,這只是一種表達(dá)方式,一種不嚴(yán)格的...比喻而已?!?nbsp;     
   至少我知道三體世界也是有愛(ài)的,但因其不利于文明的整體生存而被壓制在 萌芽狀態(tài),但這種萌芽的生命力很頑強(qiáng),會(huì)在某些個(gè)體
   身上成長(zhǎng)起來(lái)。       
   “請(qǐng)問(wèn)您是...”      
   我們以前不認(rèn)識(shí),我是兩個(gè)半世紀(jì)前曾向地球發(fā)出誓告的監(jiān)聽(tīng)員。       
   “天啊,您還活著?”莊顏驚叫道。      
   也活不了多長(zhǎng)時(shí)間了,我一直處于脫水狀態(tài),但這么長(zhǎng)的歲月,脫水的機(jī)體也會(huì)老化。
   不過(guò)我真的看到了自己想著的未來(lái),我感到很幸福。       
   “請(qǐng)接受我們的敬意?!绷_輯說(shuō)。      
   我只是想和您討論一種可能:也許愛(ài)的萌芽在宇宙的其他地方也存在,我們 應(yīng)該到處鼓勵(lì)她的萌發(fā)和成長(zhǎng)。       
   “為此我們可以冒險(xiǎn)?!?nbsp;     
   對(duì),可以冒險(xiǎn)。       
   “我有一個(gè)夢(mèng),也許有一天,燦爛的陽(yáng)光能照進(jìn)黑暗森林。”      
   這時(shí),這里的太陽(yáng)卻在落下去,現(xiàn)在只在遠(yuǎn)山上露出頂端的一點(diǎn),像山頂上鑲嵌著的一塊光燦燦的寶石。
   孩子已經(jīng)跑遠(yuǎn),同草地一起沐浴在金色的晚霞之中。     
   太陽(yáng)快落下去了,你們的孩子居然不害怕?      
   “當(dāng)然不害怕,她知道明天太陽(yáng)還會(huì)升起來(lái)的。”

將文中的 “羅輯” 修改為 “LJ”,代碼如下:

import os  # 導(dǎo)入模塊
old_str = '羅輯'
new_str = 'LJ'
modify_times = 0   # 統(tǒng)計(jì)修改次數(shù)
f1 = open('word2.txt','r',encoding='utf-8')    # 以“r”(只讀)模式打開(kāi)舊文件
f2 = open('word2_1.txt','w',encoding='utf-8')  # 以“w”(寫(xiě))模式打開(kāi)或創(chuàng)建新文件(寫(xiě)模式下,文件存在則重寫(xiě)文件,文件
不存在則創(chuàng)建文件)
for lines in f1: # 循環(huán)讀
        if old_str in lines:
                lines = lines.replace(old_str,new_str)  # 新字符串替換舊字符串
                modify_times += 1  # 每修改一次就自增一次
        f2.write(lines) # 將修改后的內(nèi)容后的內(nèi)容寫(xiě)入新文件
print('文件修改的次數(shù):',modify_times) # 9
f1.close()  # 關(guān)閉文件f1
f2.close()  # 關(guān)閉文件f2(同時(shí)打開(kāi)多個(gè)文件時(shí),先打開(kāi)的先關(guān)閉,后打開(kāi)的后關(guān)閉)
os.replace('word2_1.txt','word2.txt') # 修改(替換)文件名

值得注意的是,用于替換的字符串字節(jié)總數(shù)(UTF-8編碼中,一個(gè)英文字符占1個(gè)字節(jié),一個(gè)中文字符占3個(gè)字節(jié);GBK編碼中,中英文都占兩個(gè)字節(jié))不得超過(guò)待替換的字符串,如果超過(guò),就會(huì)覆蓋部分原文件內(nèi)容,這是由硬盤(pán)的讀寫(xiě)機(jī)制決定的,所以,關(guān)于這一點(diǎn)我們?cè)谑褂梦募薷臅r(shí),必須十分小心,及時(shí)備份,防止文件丟失。

關(guān)于Python如何修改文件問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。


本文題目:Python如何修改文件
網(wǎng)站URL:http://weahome.cn/article/jddpsj.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部