如何保持新的行间距一致

问题描述 投票:0回答:1

如打印输出所示,每一行应包含一个名称,该名称的字符已反转,然后是生日,其格式已转换为欧洲格式。

然而,最后一行打印出彼此相邻的两条线而没有空格。我想知道如何避免这种情况,并且两个名字/生日都打印在不同的行上。

def mirror(text): 
    back = ""
    for i in range(1, len(text)):
        back = back + text[len(text) - i]
    return back 
while True: 
    try: 
        file = input('Please enter the name of the file you would like to open: ') 
        text = open(file) 
        break 
    except: 
        print('Please enter a valid file.')
        continue 
lines = text.readlines()
for line in lines: 
    part = line[0:8].split('/') 
    dd = part[0]
    mm = part[1] 
    yy = part[2] 
    text = line[8:] 
    name = mirror(text)
    print(name + " " + mm + '/' + dd + '/' + yy, end = "")

实际结果如下:

senoJ moT 02/01/00
senoJ moT 02/01/00
senoJ moT 02/01/00
senoJ moT 02/01/00
senoJ moT 02/01/00senoJ moT 02/01/00

而我想要的是:

senoJ moT 02/01/00
senoJ moT 02/01/00
senoJ moT 02/01/00
senoJ moT 02/01/00
senoJ moT 02/01/00
senoJ moT 02/01/00
python
1个回答
1
投票

print函数的end属性的默认值是在字符串的末尾添加一个新的行字符。有了end = "",你告诉它你最后不需要任何东西。删除它,它应提供所需的输出。

此外,如果你没有使用with open as约定处理文件,那么当你完成它时,你将不得不使用text.close()