从字面上看,一切都很正常。我只是想在她读用户名的时候不让括号显示出来。我自己尝试了很多方法,但似乎都不起作用。有人能帮上忙吗?我的问题在except块中的readline上
try:
mem_recall=open('ai_memory.txt', 'x')
mem_recall.close()
print('Hi there. My name is Alice. What\'s yours?')
u_name=input('Enter your name: ')
mem_recall=open('ai_memory.txt', 'w')
mem_recall.write('Username: '+str(u_name))
mem_recall.close()
mem_recall=open('ai_memory.txt', 'r')
u_name=mem_recall.readlines(1)
mem_recall.close()
u_name=str(u_name).replace('Username: ', '')
input('Welcome, '+str(u_name)+'.')
except:
mem_recall=open('ai_memory.txt', 'r')
u_name=mem_recall.readlines(1)
mem_recall.close()
u_name=str(u_name).replace('Username: ', '')
print('Welcome back, '+str(u_name)+'.')
sleep(0.5)
print('Today is ' + str(datetime.datetime.strptime(str(datetime.date.today()), '%Y-%m-%d').strftime('%m.%d.%Y')) + '.')发布于 2018-08-03 11:07:50
你在给readlines打电话
u_name=mem_recall.readlines(1)这将返回行的列表。
然后显式地请求该列表的字符串表示:
u_name=str(u_name).replace('Username: ', '')列表的字符串表示形式如下所示:
['this is the actual line here, inside quotes and brackets']如果你不想那样做,那就不要那样做。如果只想要一行代码,请调用readline,而不是readlines
u_name = mem_recall.readline()
u_name = u_name.replace('Username: ', '')https://stackoverflow.com/questions/51664674
复制相似问题