我试图获取一个文件,更改格式和其他内容,然后将更改放入另一个文件。
inputfile.txt看起来像这样:
项目:8.00
项目2:9.00
项目3:8.55
def thisisthefunction():
infile = open('inputfile.txt')
outfile = open('outputfile.txt', 'w')
total = 0
while True:
contents = infile.readline()
if ("" == contents):
break;
if ":" in contents:
contentlist = contents.split(':')
price = float(contentlist[1])
outfile.write('{:30}{:8.2f}'.format(contentlist[0], price))
total = total + price
outfile.write('{:30}{:8.2f}'.format('Total:', total))
infile.close()
outfile.close()
readoutfile = open('outputfile.txt', 'r')
print(readoutfile.readline())
readoutfile.close()
我希望在outputfile.txt的行和列中包含它 为:
项目:8.00
项目2:9.00
项目3:8.55
总计:25.55
但实际输出是:
商品:8.00商品2:9.00商品3:8.55总计:25.55
答案 0 :(得分:1)
write()
与print()
不同,它不会在末尾添加'\n'
,因此您必须自己添加。
outfile.write( text + "\n" )
或
outfile.write( text )
outfile.write( "\n" )
您还可以添加格式为'{:30}{:8.2f}\n'
的文本
outfile.write('{:30}{:8.2f}\n'.format(contentlist[0], price))
outfile.write('{:30}{:8.2f}\n'.format('Total:', total))