python 替换文本 通配符_使用通配符搜索和替换文本文件中的字符串
嘗試在python中對(duì)文本文件的內(nèi)容使用通配符進(jìn)行搜索/替換:
如果文本文件的內(nèi)容看起來像:"all_bcar_v0038.ma";
"all_bcar_v0002.ma";
"all_bcar_v0011.ma";
"all_bcar_v0011.ma";
希望用v1000替換所有版本號(hào)以獲得以下結(jié)果:"all_bcar_v1000.ma";
"all_bcar_v1000.ma";
"all_bcar_v1000.ma";
"all_bcar_v1000.ma";
把文件寫出來。
我嘗試過下面的方法,但發(fā)生的情況是腳本只捕獲第一個(gè)版本號(hào),而其他版本號(hào)則保持不變:def replaceAll(file,searchExp,replaceExp):
for line in fileinput.input(file, inplace=1):
if searchExp in line:
line = line.replace(searchExp,replaceExp)
sys.stdout.write(line)
rigs = ['all_bcar']
rigs_latest = ['all_bcar_v1000']
old_pattern = []
old_compiled = []
old = []
old_version = []
for rig in range(len(rigs)):
old_pattern.append("/" + rigs[rig] + "_(.*).ma")
fin = open(txt_file, "r")
old_compiled.append(re.compile(old_pattern[rig]))
old.append(old_compiled[rig].search(fin.read()))
old_version.append(old[rig].group(1).strip())
old_rig = (rigs[rig] + "_" + old_version[rig])
replaceAll(txt_file,old_rig,rigs_latest[rig])
fin.close()
不知道如何保持搜索循環(huán)以查找其他版本,并避免已替換的版本,跳過任何等于“v1000”的版本。
總結(jié)
以上是生活随笔為你收集整理的python 替换文本 通配符_使用通配符搜索和替换文本文件中的字符串的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java实现程序输出以下5*5数字方格
- 下一篇: 熟悉c语言运行环境实验原理,c语言实验报