如打印输出所示,每行应包含一个名称,该名称的字符已颠倒,然后是生日,其格式已转换为欧洲格式。
但是最后一行将这些行中的两行打印出来,且没有空格。我想知道如何避免这种情况,并把姓名/生日与上面的姓名分开打印。
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
答案 0 :(得分:1)
打印功能的end
属性的默认值是在字符串的末尾添加新的行字符。使用end = ""
,您已经告诉您最终什么都不要。删除它,它应该提供所需的输出。
此外,如果您不使用with open as
约定来处理文件,则在处理完文件后将不得不text.close()
。