如何在python中格式化输出文件?

时间:2014-02-22 18:32:17

标签: python

我正在尝试将输出文件格式化为与输入文件完全相同。我想知道是否有人能给我一些指示。我的代码是:

input_file=open('abcd.txt','r')

f1=input('file name: ')

output_file=open(f1,'w')
for line in input_file:
    output_file.write(line)

input_file.close()
output_file.close()

我的输入文件如下所示。其中国家为50个字符,第二类为6个字符,第三个为3个字符,第四个为25个字符,年份为4个字符长。以下是输入文件。

Afghanistan                                        WB_LI   68 Eastern Mediterranean     2012
Albania                                            WB_LMI  90 Europe                      1980
Albania                                            WB_LMI  90 Europe                    1981

以下是我的输出文件的样子:

Afghanistan                                        WB_LI   68 Eastern Mediterranean     2012
Albania                                           WB_LMI  90 Europe                    1980
Albania                                           WB_LMI  90 Europe                    1981

1 个答案:

答案 0 :(得分:2)

使用string formatting,主要是{:-x},其中x表示字符串的最小长度(用空格填充),-表示左对齐内容:

output_file.write('{:-50} {:-6} {:-3} {:-25} {:-4}\n'.format(country, category, third, fourth, year))