如打印输出所示,每行应包含一个字符颠倒的名称,后跟一个已将其格式转换为欧洲格式的出生日期。
然而,最后一行打印出其中两行彼此相邻,没有空格。我想知道如何避免这种情况,并将两个名字/出生日期打印在单独的行上,就像上面的那些一样。
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
print 函数的 end
属性的默认值是在字符串末尾添加新行字符。有了end = ""
你已经告诉它你不想要最后的任何东西。删除它,它应该提供所需的输出。
此外,如果您不使用with open as
约定来处理文件,则必须在完成它时text.close()
。