python - 我正在编写一个程序来用python中的另一个字符串替换一些字符串
问题描述
输入字符串是这样的
$sim,abad_x_y,rat,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
输出
$sim,abad_x_y,rat,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()
推荐阅读
- excel - 达到值时移动单元格
- java - 休眠。保存对象键的重复条目“1”
- naming - 包含点和方向的数据结构的名称是什么?
- java - @JsonIgnor 不适用于 UserDetails 类 Java Spring
- ios - 多点连接对等点有时无法在完美的网络条件下重新连接
- python - geopandas 和 pandas 之间的类型转换错误
- micro-frontend - 在单个 SPA 中将 React 应用程序加载为微前端时出错
- bash - 如何在没有回声的变量中分配表达式的字符串输出?
- javascript - 完成项目后“无法获取/”,yarn创建了项目
- excel - 在多个 ForEach 循环中将文件称为变量 [PowerShell]