繁体   English   中英

我正在编写一个程序来用 python 中的另一个字符串替换一些字符串

[英]I am writing a program to replace some string with another string in python

输入字符串是这样的

$sim,abad_x_y,大鼠,2,3,a,b
123,456,1345
323,455,2433
$sim,abad_z_c,rat,2,3,c,d
123,4456,1345
323,4554,2445

Output

$sim,abad_x_y,大鼠,2,3,x,y
123,456,1345
323,455,2433
$sim,abad_z_c,rat,2,3,z,c
123,4456,1345
323,4554,2445

从 $sim 行的第二个标记 x,y 应取并替换 a,b 在最后

import os  
import sys  
import re  
fin=open('old_file.txt','r')  
fout=open('new_file.txt','a')  
line_list = fin.readlines() 
for w in line_list.rstrip('\n\r'):  
    if w.startswith('$sim'):  
        word_set=w.split(',')  
        split_zone=word_set[1].split('_')  
        fout=fout.write(w.replace(word_set[-1],split_zone[-1]))  
        fout=fout.write(w.replace(word_set[-2],split_zone[-2]))  
    fout=fout.write(w)  
fin.close()  
fout.close()

import os
import sys
import re
fin=open('old_file.perf','r')
fout=open('new_file.txt','w')
line_list = fin.readlines()
for line in line_list:
    if line.startswith('$sim'):
        word_set=line.split(',')
        split_zone=word_set[1].split('_')
        new_line=line.replace(word_set[-1],split_zone[-1])
        new_line2=new_line.replace(word_set[-2],split_zone[-2])
        fout.write(new_line2)
        fout.write('\n')
    else:
        fout.write(line)
fin.close()
fout.close()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM