我有两个文件,' tclust.txt'和' ef_blue.xpk'。 我想从ef_blue.xpk中获取某些特性并在tclust.txt中使用它们
import re
import sys
import os
lines = open('tclust.txt').readlines()
last_line = lines[-1]
open ('tclust.txt','w').writelines(lines[:-2])
with open("ef_blue.xpl","rt") as f1, open("tclust.txt","a") as f2:
for line in f1.readlines():
float_num = re.findall("[\s][1-9]{1}\.[0-9]+",line)
if len(float_num)>1:
f2.writelines(' '*6 +float_num[0] + '0.05' + float_num[1] + '0.05' + '\n')
f2.writelines(last_line)
我试图让我的输出(tclust.txt)看起来像:
实际上是这样的:
我原来的tclust文件,我试图追加
我原来的ef_blue文件
如何让我的tclust文件看起来像我的输出?
Edit1:如果我更改了行
open ('tclust.txt','w').writelines(lines[:-2])
到
open ('tclust.txt','w').writelines(lines[:-1])
我的输出更改为
另外,我怎么能这样做,以便在每一行后,字符串'峰值'后面跟着我想要的tclust.txt文件中的相应数字
答案 0 :(得分:0)
import re
import sys
import os
i = 0;
f = open("tclust.txt", "r")
lines = f.readlines()
f.close()
contents = []
with open("ef_blue.xpl","r") as f1:
for line in f1.readlines():
float_num = re.findall("[\s][1-9]{1}\.[0-9]+",line)
if len(float_num)>1:
i = i + 1
value = ('Peak ' + str(i) + str(float_num[0]) + ' 0.05' + str(float_num[1]) + ' 0.05' + '\n')
lines.insert(-1,value)
f = open("tclust.txt", "w")
for value in lines:
f.write(value)
f.close()
上面给出的代码应该可以完成你的工作。在lines.insert(index,value)
索引中,文件的值为0。