我尝试创建一个文本文件,用于询问用户名并将每个名称存储在该文件的新行中。现在,当用户输入使用while循环被无限次播放时,我创建了一个退出选项供用户输入' q'对于退出....随时。完成此任务后,当我打开文本文件' guest_book.txt'我想摆脱终点线,' q'。
通常对于列表,如果elt不在' q']中,我们会使用[elt for elt in filename]这样的模式,这样就可以消除那个' q'。如何使用文本文件?任何意见都将受到高度赞赏!!!
这是我的代码:
filename='guest_book.txt'
with open(filename,'a') as file_object:
while True:
user_name = input("Enter your name: ")
file_object.write(user_name)
file_object.write('\n')
答案 0 :(得分:1)
最好的方法是插入一个休息
while True:
user_name = input("Enter your name: ")
if user_name=="q":
break
file_object.write(user_name)
file_object.write('\n')
您可以执行类似
的操作user_name=None
while not user_name == "q":
user_name = input("Enter your name: ")
file_object.write(user_name)
file_object.write('\n')
但是休息可能是最好的做法
答案 1 :(得分:0)
这是我的解决方案:
filename='guest_book.txt'
# Edit 1
with open(filename, 'a') as file_object:
while True:
user_name = input("Enter your name: ")
if user_name == 'q':
break
else:
file_object.write(user_name)
file_object.write('\n')
使用此代码,当它将用户名识别为' q'时,它会立即中断而不会写出' q'进入文件。