我正在尝试将输出文件格式化为与输入文件完全相同。我想知道是否有人能给我一些指示。我的代码是:
input_file=open('measles.txt','r')
f1=input('file name: ')
output_file=open(f1,'w')
for line in input_file:
newstring=''
line=line.strip()
for ch in line:
newstring+=ch
print(newstring,file=output_file)
input_file.close()
output_file.close()
输入文件如下所示:
Afghanistan WB_LI 65 Eastern Mediterranean 2011
Afghanistan WB_LI 68 Eastern Mediterranean 2012
Albania WB_LMI 90 Europe 1980
Albania WB_LMI 90 Europe 1981
我的输出文件如下所示:
Afghanistan WB_LI 65 Eastern Mediterranean 2011
Afghanistan WB_LI 68 Eastern Mediterranean 2012
Albania WB_LMI 90 Europe 1980
Albania WB_LMI 90 Europe 1981
未正确对齐。
答案 0 :(得分:1)
你可以这样做:
input_file=open('measles.txt','r')
f1 = 'out.txt'
output_file=open(f1,'w')
for line in input_file:
line=line.rstrip()
print(line)
input_file.close()
output_file.close()
但是我猜你真的想在打印之前修改一下这行。如果你告诉我什么,我会尽力帮助你。
答案 1 :(得分:0)
看起来字段宽度是个问题。尝试使用填充:http://docs.python.org/release/3.0.1/whatsnew/2.6.html#pep-3101
以下是我输入的示例:
strings = []
fmt = '{0:30} {1:8} {2:4} {3:30} {4:8}'
strings.append(fmt.format("Afghanistan", "WB_LI", 65, "Eastern Mediterranean", 2011))
strings.append(fmt.format("Afghanistan", "WB_LI", 68, "Eastern Mediterranean", 2012))
strings.append(fmt.format("Albania", "WB_LMI", 90, "Europe", 1980))
strings.append(fmt.format("Albania", "WB_LMI", 90, "Europe", 1981))
for str in strings:
print(str)
输出:
Afghanistan WB_LI 65 Eastern Mediterranean 2011
Afghanistan WB_LI 68 Eastern Mediterranean 2012
Albania WB_LMI 90 Europe 1980
Albania WB_LMI 90 Europe 1981
答案 2 :(得分:0)