使用python格式化输出文件

时间:2014-02-22 22:08:04

标签: python

我正在尝试使用以下数据格式化输出文件。 国家(50个字符) 收入等级(6个字符) 接种百分比(3个字符) 地区(25个字符) 年(4个字符) 这是我的代码:

f1=input('file name: ')

output_file=open(f1,'w')
for line in input_file:
    newstring=''
    line=line.strip()
    for ch in line:
        print('{0:<50s}{1:<6s}{2:<3s}{3:<25s}{4:<4s}'.format(line[0:50],line[50:56],line[56:59],line[59:84],line[84:87],file=output_file)   

input_file.close()
output_file.close()

以下是我收到的错误:

file name: output_file.txt
Traceback (most recent call last):
  File "C:/Users/Dasinator/Documents/Books IX/Python Examples/proj07.py", line 10, in <module>
    print('{0:<50s}{1:<6s}{2:<3s}{3:<25s}{4:<4s}'.format(line[0:50],line[50:56]),line[56:59],line[59:84],line[84:87],file=output_file)
IndexError: tuple index out of range

我一直在研究这件事已经有一段时间了,只是不知道我哪里出错了。有人可以写问题出在哪里吗?感谢

1 个答案:

答案 0 :(得分:1)

您在格式化函数中的第二个参数后添加了)。然后你继续添加参数,python正在考虑print函数的一部分,它不需要那么多参数。

除此之外,格式函数现在需要6个参数,但是你只提供了2个,因此错误