當前位置:首頁 » 編程語言 » python覆蓋文件

python覆蓋文件

發布時間: 2022-07-09 15:40:39

python如何將文件夾中的所有txt文件的內容替換

下面是我寫的,供參考:

import os

path = r'D:Desktope'

files = list(filter(lambda file:file[-4:]=='.txt',os.listdir(path)))

for file in files:

with open(path+os.sep+file,'r+') as f:

data = f.read()

data.replace('wo','我')

f.write(data)

❷ 如何讓python循環寫入文檔的內容不被後面寫入的內容覆蓋

以 a 模式 open 文件並寫入就可以

withopen("geci","a")asf:
data=f.write('~~~thisisanewline~~~')

文件最開始是這樣:

❸ 求教Python升版本後怎麼覆蓋原版本

1,windows,在控制面板中卸載原來的安裝程序,如果還有沒刪除的文件,如果需要保留下次安裝可以覆蓋,一般不影響第三方庫的使用。
2,linux下,編譯安裝還是升級整個系統,比如centos,redhat等系統yum可能需要使用python2比較低的版本,所以不要刪除原來的程序,將yum的python解析器指定為原來版本,新版本可以編譯安裝在其他目錄,然後環境變數修改為新版本即可。

❹ python對文件的獨操作有哪幾種請詳細說明每種方法

1.打開文件:
f=open(r'E:\PythonProjects\test7\a.txt',mode='rt',encoding='utf-8')
以上三個單引號內分別表示:要打開的文件的路徑,mode為文件打開方式具體介紹在下文,encoding為文件的字元編碼,一般默認為utf-8
2.讀寫文件:
data=f.read() # 讀文件
f.write() # 寫文件
3.關閉文件:
f.close()
4.為了簡便,一般採用上下文的方法進行文件操作,可不用關閉文件
with open('a.txt',mode='rt',encoding='utf-8') as f:
data=f.read()
print(data)
with open('a.txt',mode='wt',encoding='utf-8') as f:
f.write('hello world')
5.控制文件讀寫的操作:
r:(默認模式):只讀:以該模式打開文件時,若文件不存在則報錯,若文件存在,則文件指針在文件開頭,即從文件開頭開始讀文件
w:只寫:以該模式打開文件時,若文件不存在則創建一個文件,如文件存在,則清空文件內容,文件指針移到開頭
a:追加寫:以該模式打開文件時,若文件不存在則創建一個文件,如文件存在,則將文件指針移到文件末尾,在文件末尾寫入新的內容
6.控制文件讀寫內容的模式:(t 和 b都不能單獨使用,必須與r,w,a結合使用)
t:(默認):無論讀寫都是以字元為單位,只能識別文本文件,必須要制定encoding
b:無論讀寫都是以位元組為單位,可以識別所有文件,一定不能指定encoding
7.文件的拷貝
with open ('a.txt',mode='rb') as af,\
open('b.txt',mode='wb') as bf:
data=af.read
f.write(data)
執行程序後,打開文件,即可發現文件已成功拷貝,這里使用 b 而不是用 t 模式,是因為文件有多種格式
8.文件的修改:
文件的修改是在硬碟上實現文件的覆蓋,相當於一個新的文件以舊的文件名來命名的; 文件的修改有倆種方式,分別適用於不同的情景
方式一(適用於容量小的文件):這種方式的原理是:創建一個新的文件,將舊文件的內容拷貝到新的文件中;這樣內存里就存在倆個文件,故不適用於容量大的文件,具體代碼見下方 View
with open('a.txt',mode='rt',encoding='utf-8') as f:
data=f.read()
data_new=data.replace('yang', 'yv')
with open('b.txt',mode='wt',encoding='utf-8')as p:
p.write(data_new)
方式二(適用於容量大的文件):此方式的原理為:讀取舊文件的一行內容,修改後寫到臨時文件中,循環往復直到寫完,然後將源文件刪除,將臨時文件命名為源文件名.這種方式在內存中只存在2行文件,節省內存,可用於大文件
import os
with open('b.txt',mode='rt',encoding='utf-8') as f,\
open('.b.txt.swap',mode='wt',encoding='utf-8') as p:
for line in f:
p.write(line.replace('yv','yang'))
# 調用replace方法,將源文件中的'yv',換成'yang'
os.remove('b.txt')
os.rename('.b.txt.swap','b.txt')
9. 文件的階段:truncate(n)
將文件中n個位元組後內容全刪了,當 n 不存在時,即刪除文件全部內容
10.文件內指針的移動
f.seek(): 指針的移動是以位元組為單位的
seek 有三種模式:
0:(默認模式) 指針在文件開頭,只有在 0 模式可以在 t 模式下用,也可以在 b 模式下用,而 1 ,2 模式只能在 b 模式下使用
1:指針在當前位置
2:指針在文件末尾
以下為具體事例:
# 0
with open('a.txt',mode='rt',encoding='utf-8')as f:
f.seek(3,0)
print(f.tell()) # 指針當前位置
print(f.read()) # 從指針後讀出所有內容

# 1 參照指針當前位置
with open('a.txt',mode='rb')as f:
f.read(2)
f.seek(4,1)
print(f.tell())
print(f.read().decode('utf-8'))

# 2 參照文件末尾
with open('a.txt',mode='rb')as f:
f.seek(-5,2)
print(f.tell())
print(f.read().decode('utf-8'))
當 seek處於 2 模式時,可以將文件中新加入的內容列印出來,具體代碼如下:
# 另一個文件進行寫操作,寫的代碼如下:

with open('a.txt',mode='at',encoding='utf-8')as f:
f.write('hello world\n')

# 每在文件中寫入新的內容,都列印出來,以下代碼執行列印操作:
import time
with open('a.txt',mode='rb')as f:
f.seek(0,2)
while True:
line=f.readline() # readline 可以讀取沒有內容的部分
# print(line.decode('utf-8'))
if len(line)==0:
time.sleep(0.1)
else:
print(line.decode('utf-8'))

❺ 求Python讀取文件後寫入內容替換原內容的辦法

先將內容 讀取到內存中修改,然後使用w模式直接覆蓋原文件。
如果文件較大,可以分割寫入一個新文件,然後將原文件刪除,將新文件重命名為原文件。

❻ 關於python的一個覆蓋txt內容的問題

import re
re.sub...

❼ python 自動比對目錄,並覆蓋更新.

其實你可以這樣想。思路就對了
你只需要寫入遍歷程序,將Z盤所有文件的最後更新時間記錄下來,存放在庫或者文件中。。
當你的程序發現文件更新時間比你記錄的時間新時,或者文件不存在於你的記錄表中,則直接覆蓋D盤下的文件。。這個容易寫。。你自己研究下。

❽ python open會覆蓋么

如果是"wb","w" 就會覆蓋.

open("xxx","wb")

❾ python怎麼避免寫入文件覆蓋

在進行python進行文件讀寫的時候,第一次寫進去的內容,第二次在進行寫入會被覆蓋掉,

原因是我們的方式用的是「w"或者別的之類的

換成」a「就可以了

❿ Python 中怎樣刪除zip壓縮文件夾中某個文件


PyZipFile
方法很簡陋。
是把
zip壓縮包裡面的文件,除了要刪除的文件以外,逐個讀取出來,保存到新文件中。最後用新文件覆蓋舊文件。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#
coding=utf-8
import
zipfile
import
your_delet_file="你要刪除的文件名"
old_zipfile='archive.zip'
#新文件
new_zipfile='archve_new.zip'
#新文件
zin
=
zipfile.ZipFile
(old_zipfile,
'r')
#讀取對象
zout
=
zipfile.ZipFile
(new_zipfile,
'w')
#被寫入對象
for
item
in
zin.infolist():
buffer
=
zin.read(item.filename)
if
(item.filename!=
your_delet_file):
#剔除要刪除的文件
zout.writestr(item,
buffer)
#把文件寫入到新對象中
zout.close()
zin.close()
#用新文件覆蓋舊文件
shutil.move(new_zipfile,old_zipfile)

熱點內容
有哪些低配置游戲像王者榮耀 發布:2024-05-03 22:27:11 瀏覽:243
gp資料庫庫 發布:2024-05-03 22:12:43 瀏覽:874
壓縮點點 發布:2024-05-03 22:12:33 瀏覽:381
有哪些編程比賽 發布:2024-05-03 22:03:45 瀏覽:264
怎麼根據配置調整游戲解析度 發布:2024-05-03 22:02:50 瀏覽:78
小鳥醬265g資源密碼多少啊 發布:2024-05-03 21:32:08 瀏覽:653
三國戰紀游戲華為帳號密碼是多少 發布:2024-05-03 21:22:54 瀏覽:950
變頻壓縮機啟動 發布:2024-05-03 21:17:06 瀏覽:436
建立雲存儲 發布:2024-05-03 21:04:03 瀏覽:76
socket編程php 發布:2024-05-03 20:12:50 瀏覽:209