我在output.txt文件中有这样的东西
Service1:Aborted
Service2:failed
Service3:failed
Service4:Aborted
Service5:failed
输出第二个文件(output2.txt):
Service1 Service2 Servive3 Service4 Service5
Aborted failed failed Aborted failed
想删除该行中的最后一个逗号。
我正在尝试的代码:
file=open('output.txt','r')
target=open('output2.txt','w')
for line in file.readlines():
line=line.strip()
parts=line.split(":")
for part in parts:
var2=part.strip()+","
target.write(var2.rstrip(',')) # Not working
target.close()
答案 0 :(得分:0)
使用列表并将项目附加到其中。访问零件[-1]将返回拆分零件中的最后一项。然后使用join()
将逗号放在所有收集状态之间:
states = []
for line in file.readlines():
parts=line.strip().split(':')
states.append(parts[-1])
print(','.join(states))
答案 1 :(得分:0)
这会产生您最初请求的输出:
file=open('output.txt','r')
target=open('output2.txt','w')
states = [line.strip().split(':')[-1] for line in file.readlines()]
target.write(','.join(states))
target.close()
即,此代码的输出为:
Aborted,failed,failed,Aborted,failed
对于表格视图,假设选项卡式输出将对齐,此代码为:
file=open('output.txt','r')
target=open('output2.txt','w')
states, titles = [], []
for line in file.readlines():
title, state = line.split(':')
titles.append(title)
states.append(state)
target.write('\t'.join(titles))
target.write('\n')
target.write('\t'.join(states))
target.close()
将生成请求的表视图(注意此输出中没有逗号):
Service1 Service2 Servive3 Service4 Service5
Aborted failed failed Aborted failed
如果要更精确地控制对齐,则需要应用格式设置,例如测量每列中文本的最大宽度,然后将其用作格式说明符。