消除' q'用户在python中输入q时从文本文件中

时间:2018-02-18 11:05:32

标签: python python-3.x python-2.7

我尝试创建一个文本文件,用于询问用户名并将每个名称存储在该文件的新行中。现在,当用户输入使用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')

2 个答案:

答案 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'进入文件。