如何保持新的行距一致

时间:2019-04-22 14:25:56

标签: python

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

但是最后一行将这些行中的两行打印出来,且没有空格。我想知道如何避免这种情况,并把姓名/生日与上面的姓名分开打印。

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

1 个答案:

答案 0 :(得分:1)

打印功能的end属性的默认值是在字符串的末尾添加新的行字符。使用end = "",您已经告诉您最终什么都不要。删除它,它应该提供所需的输出。

此外,如果您不使用with open as约定来处理文件,则在处理完文件后将不得不text.close()