Ⅰ python讀取文本文件,如何將每行最後一個特定字元替換
方法:
解釋,s.count('/')計算原來有多少個特定字元串,然後第一步全部替換,第二步將count-1個還原
Ⅱ 如何用Python來進行查詢和替換一個文本字元串
1、說明
可以使用find或者index來查詢字元串,可以使用replace函數來替換字元串。
2、示例
1)查詢
>>> 'abcdefg'.find('cde')
結果為2
'abcdefg'.find('acde')
結果為-1
'abcdefg'.index('cde')
結果為2
2)替換
'abcdefg'.replace('abc','cde')
結果為'cdedefg'
3、函數說明
1)find(...)
S.find(sub[, start[, end]]) -> int
返回S中找到substring sub的最低索引,使得sub包含在S [start:end]中。 可選的 參數start和end解釋為切片表示法。
失敗時返回-1。
2)index(...)
S.index(sub[, start[, end]]) -> int
與find函數類似,但是當未找到子字元串時引發ValueError。
3)replace(...)
S.replace(old, new[, count]) -> str
返回S的所有出現的子串的副本舊換新。 如果可選參數計數為給定,只有第一個計數出現被替換。
Ⅲ Python批量修改文本文件內容的方法
Python批量修改文本文件內容的方法
Python批量替換文件內容,支持嵌套文件夾
import os
path="./"
for root,dirs,files in os.walk(path):
for name in files:
#print name
if name.endswith(".html"):
#print root,dirs,name
filename=root+"/"+name
f=open(filename,"r")
filecontent=""
line=f.readline()
while line:
l=line.replace(":/arcgis_js_api","/arcgisapi")
filecontent=filecontent+l
line=f.readline()
f.close()
f=file(filename,"w")
f.writelines(filecontent)
f.close()
關於本文給大家介紹的Python批量修改文本文件內容的方法
Ⅳ python3 正則表達式如何實現中文模糊匹配替換並輸出
要使用正則表達式實現中文模型李糊匹配替換並輸出,你可以使用 Python 的 re 模塊。以下是一個示例代碼,讀取一個名為 input.txt 的文件,將其中的 "竹某嬋" 或 "竹嬋某" 替換為 "竹嬋嬋",然後將結果保存到一個名為 output.txt 的新文件中:
import re
# 定義一個函數來實現替換操作
def replace_pattern(match_obj):
return "竹嬋嬋"
# 讀取文件內容
with open("input.txt", "r", encoding="utf-8") as file:
content = file.read()
# 使用正則表達式進行模糊匹配替換
pattern = r"竹(?:某|嬋)(?:嬋|某)"
replaced_content = re.sub(pattern, replace_pattern, content)
# 將替換後的內容寫入新的文件
with open("output.txt", "w", encoding="utf-8") as file:
file.write(replaced_content)
在這個例子中,正則表達式 r"竹(?:某|嬋)(?:嬋|某)" 用於匹配 "竹某嬋" 或 "竹嬋某"。(?:...) 是一個非捕獲組,它表示匹配其中的任意一個字元,但不會捕獲該組。這里的組分別包含 "某" 和 "嬋",因此可以匹配 "竹某嬋" 或 "竹嬋某"。接下來,re.sub 函數用於替換匹配到的字元串。這里我們提供了一個替換函行緩數 replace_pattern,它直接返回 "竹嬋嬋"。最後,將替換後的內容寫入一個名為 output.txt 的新文件。
…………
回復:
如果要實現匹配任意特定中文字元,可以使用 Unicode 的中文字元卜帶遲范圍。以下是修改後的示例代碼,可以將 "竹某嬋" 或 "竹嬋某" 替換為 "竹嬋嬋",其中 "某" 為任意中文字元:
import re
# 定義一個函數來實現替換操作
def replace_pattern(match_obj):
return "竹嬋嬋"
# 讀取文件內容
with open("input.txt", "r", encoding="utf-8") as file:
content = file.read()
# 使用正則表達式進行模糊匹配替換
pattern = r"竹[u4e00-u9fa5]嬋|竹嬋[u4e00-u9fa5]"
replaced_content = re.sub(pattern, replace_pattern, content)
# 將替換後的內容寫入新的文件
with open("output.txt", "w", encoding="utf-8") as file:
file.write(replaced_content)
在這個例子中,正則表達式 r"竹[u4e00-u9fa5]嬋|竹嬋[u4e00-u9fa5]" 用於匹配 "竹某嬋" 或 "竹嬋某",其中 "某" 為任意中文字元。[u4e00-u9fa5] 用於匹配任意一個中文字元。接下來,re.sub 函數用於替換匹配到的字元串。這里我們提供了一個替換函數 replace_pattern,它直接返回 "竹嬋嬋"。最後,將替換後的內容寫入一個名為 output.txt 的新文件。
Ⅳ python編寫一個自動替換word文檔文字程序
編者的話(可以跳過):
在政府單位實習了一段時間,發現有很多資料需要製作,而且繁瑣重復,第一時間就想到了python,因為在辦公自動化這方面我只知道python,本著能偷懶就偷懶的原則,通過查閱資料整出一個小腳本然後用tkinter的ui組件寫了一個界面方便除我之外的人使用,此軟體涉及內部文件就不發布了。截圖如下:
需求如下:
當你有一大堆的word文檔,然後這些word文檔都有其固定格式,也許是一個表格,也許就是只有文字的普通文檔,這些固定模式的文檔我稱之為模板。如果有10份模板,這些模板的填寫內容大致相同,比如說文件的編號,年份,一些公司名稱等。然後基本上就是機械的找位子復制改改格式循環往復然後時間就過去了,做了一堆無意義的事情。
所以核心功能:需要把自己想要填寫的內容填寫到模板的指定位置。
2、實現方式
2.1使用python-docx
有興趣的可以深入學習一下python-docx,這里僅僅是實現需求。python-docx只能處理docx所以doc需要轉為docx具體方法可以自行網路。
這個替換程序是可以替換word文檔內表格和非表格的內容且不會修改原模板的任何格式,填寫好上面所給函數的參數然後在ide里運行一下,前提是事先在文檔中要填寫的位置寫好要替換的內容,也就是old_text,如下所示:
Ⅵ Python 替換文本內容
你是把
str.replace(p1, p2)
當成本地執行的了。
即針對變數本身操作的了。
我所知道的,除了有限的幾個,比如list的reverse等,是直接針對變數本身操作的。
其他的,都是只是執行對應動作而已。
包括你這里的replace,所以需要把替換後的結果,返回到某個變數中,然後再列印出來,就可以看到變化了。
順帶說一句,如果針對處理html的內容的話,倒是建議你用第三方庫函數。
原因見:
【整理】關於用正則表達式處理html代碼方面的建議
(這里不給貼地址,所以請自己用google搜標題,即可找到帖子地址)
=======================
評論裡面沒法發表,寫在這里給你看:
看來,你本身對於回車和換行的概念,就不是很清楚,所以建議你去看我總結的:
【詳解】回車 換行 0x0D 0x0A CR LF r n的來龍去脈
如果想換成回車換行,那麼就是類似於這樣的寫法:
replacedStr = str.replace("<br>", "\r\n");
同理:(這里不給貼地址,所以請自己用google搜標題,即可找到帖子地址)
Ⅶ python 查找替換文本
a_lines=open('a.txt')#192.168.1.0usage90%
a_=a_lines.readlines()
b_lines=open('b.txt')#192.168.1.0LAN-User,192.168.2.0Wireless-User
b_=b_lines.readlines()
c_lines=open('c.txt','wb')
foriinb_:
tmp=i.strip().split()[0]#得到192.168.1.0
forjina_:
tmp1=j.strip().split()
iftmp==tmp1[0]:
tmp2=i.strip()+j.strip().replace(tmp1[0],'')+' '
c_lines.write(tmp2)
a_lines.close()
b_lines.close()
c_lines.close()
Ⅷ word文字替換批處理之python
媳婦有無數word文檔要替換,網路後發現沒有現成的方法。
google後沒有太合適的。抄抄寫寫弄個python腳本換目錄下所有word內容,共勉之。
import os
from docx import Document
# 放了一些docx 文件
files_dict ={
"/home/test/a/醫療器械臨床試驗第一版-設計/": "/home/test/a/醫療器械臨床試驗第一版-設計/",
"/home/test/a/醫療器械臨床試驗第一版-管理制度/": "/home/test/a/醫療器械臨床試驗第一版-管理制度/",
"/home/test/a/醫療器械臨床試驗第一版-SOP/": "/home/test/a/醫療器械臨床試驗第一版-SOP/",
"/home/test/a/目錄/": "/home/test/a/目錄/"
}
replace_dict = {
"XXGNK":"XZDXGWK",
"心血管專業": "心臟大血管外科",
"心血管":"心臟大血管外科",
}
def check_and_change(document, replace_dict):
"""
遍歷word中的所有 paragraphs,在每一段中發現含有key 的內容,就替換為 value 。
(key 和 value 都是replace_dict中的鍵值對。)
"""
for para in document.paragraphs:
for i in range(len(para.runs)):
for key, value in replace_dict.items():
if key in para.runs[i].text:
print(key+"-->"+value)
para.runs[i].text = para.runs[i].text.replace(key, value)
for table in document.tables:
for row in table.rows:
for cell in row.cells:
for para in cell.paragraphs:
for i in range(len(para.runs)):
for key, value in replace_dict.items():
if key in para.runs[i].text:
print(key+"-->"+value)
para.runs[i].text = para.runs[i].text.replace(key, value)
return document
def main():
for old_file_path, new_file_path in files_dict.items():
for name in os.listdir(old_file_path):
print(name)
old_file = old_file_path + name
new_file = new_file_path + name
if old_file.split(".")[1] == 'docx':
document = Document(old_file)
document = check_and_change(document, replace_dict)
document.save(new_file)
print("^"*30)
if __name__ == '__main__':
main()
Ⅸ python文本內容替換
這樣編寫:
fa=open("A.txt","r")
ta=fa.readlines()
fb=open("B.txt","r")
tb=fb.readlines()
tb[2:-9]=ta
fa.close()
fb.close()
fb=open("B.txt","w")
fb.writelines(tb)
fb.close()