我有两个文件。带有数据的文件1
ND2D1BWP210H6P51CNODSVT-(.A1(n1),.A2(),.ZN(n2)); |2
GAO21D1BWP210H6P51CNODSVT-(.A1(n2),.A2(),.B(),.Z(n3)); |4
CKLHQD14BWP210H6P51CNODSVT-(.CPN(#),.E(1),.TE(n3),.Q(n4)); |5
ND3OPTPAD6BWP210H6P51CNODSVT-(.A1(n4),.A2(),.A3(),.ZN(n5)); |8
AN4D2BWP210H6P51CNODSVT-(.A1(n5),.A2(),.A3(),.A4(),.Z(n6)); |11
和带有数据的文件2
NR2SKRD12BWP210H6P51CNODSVT-(.A1(n7),.A2(),.ZN(n8)); |2
MUX2D2BWP210H6P51CNODSVT-(.I0(n8),.I1(),.S(),.Z(n9)); |4
CKLHQD16BWP210H6P51CNODSVT-(.CPN(#),.E(1),.TE(n9),.Q(n10)); |5
LHCSNQD1BWP210H6P51CNODSVT-(.CDN(n10),.D(),.E(1),.SDN(),.Q(n11)); |6
OAI21D8BWP210H6P51CNODSVT-(.A1(n11),.A2(),.B(),.ZN(n12)); |9
DCCKND16BWP210H6P51CNODSVT-(.I(n12),.ZN(n13)); |10
INVSKFD14BWP210H6P51CNODSVT-(.I(n13),.ZN(n14)); |11
我想比较file1
中的last digit i.e digit after |
和file2
如果数字匹配,我想用文件1中的(n) value
替换文件2中匹配行中的first ()
代码是我写的
x1="(n"
x2=")"
with open('file1','r') as fin:
for line in fin:
l= line[-4:]
z1=line.find(x1)
z2=line.find(x2)
l1=line[z1:z2]
print l1
fout =open('file2','r+')
for line2 in fout:
if "()" in line2:
k=line2[-4:]
if l==k:
l=line2.replace("()",l1+")",1)
fout.write(l)
代码运行良好,但我遇到的唯一问题是,如果最后一个数字匹配,它不会替换文件2中的匹配线,而是在文件2中末尾的新行中添加匹配线
我得到的输出是
NR2SKRD12BWP210H6P51CNODSVT-(.A1(n7),.A2(),.ZN(n8)); |2
MUX2D2BWP210H6P51CNODSVT-(.I0(n8),.I1(),.S(),.Z(n9)); |4
CKLHQD16BWP210H6P51CNODSVT-(.CPN(#),.E(1),.TE(n9),.Q(n10)); |5
LHCSNQD1BWP210H6P51CNODSVT-(.CDN(n10),.D(),.E(1),.SDN(),.Q(n11)); |6
OAI21D8BWP210H6P51CNODSVT-(.A1(n11),.A2(),.B(),.ZN(n12)); |9
DCCKND16BWP210H6P51CNODSVT-(.I(n12),.ZN(n13)); |10
INVSKFD14BWP210H6P51CNODSVT-(.I(n13),.ZN(n14)); |11
NR2SKRD12BWP210H6P51CNODSVT-(.A1(n7),.A2(n1),.ZN(n8)); |2
MUX2D2BWP210H6P51CNODSVT-(.I0(n8),.I1(n2),.S(),.Z(n9)); |4
我想要的输出是
NR2SKRD12BWP210H6P51CNODSVT-(.A1(n7),.A2(n1),.ZN(n8)); |2
MUX2D2BWP210H6P51CNODSVT-(.I0(n8),.I1(n2),.S(),.Z(n9)); |4
CKLHQD16BWP210H6P51CNODSVT-(.CPN(#),.E(1),.TE(n9),.Q(n10)); |5
LHCSNQD1BWP210H6P51CNODSVT-(.CDN(n10),.D(),.E(1),.SDN(),.Q(n11)); |6
OAI21D8BWP210H6P51CNODSVT-(.A1(n11),.A2(),.B(),.ZN(n12)); |9
DCCKND16BWP210H6P51CNODSVT-(.I(n12),.ZN(n13)); |10
INVSKFD14BWP210H6P51CNODSVT-(.I(n13),.ZN(n14)); |11
目前没有回答
相关问题 更多 >
编程相关推荐