如何退出向CSV输出内容的while循环且不写入exit输入
解决将"exit"写入CSV文件的问题
你的代码问题出在获取输入后直接写入文件,再判断是否退出,导致输入"exit"时已经把它写入了CSV。只需要调整判断和写入的顺序,就能避免这个问题。
修改后的代码如下:
def add(): with open("pyquiztest1.csv", 'a+') as f: while True: new_question = input('Enter your question. Type exit to exit: \n') # 先判断是否为exit,是就直接退出,不执行写入 if new_question == 'exit': break # 不是exit才写入文件 f.writelines(f'{new_question}\n')
逻辑说明:
- 用
while True创建无限循环,直到触发退出条件才终止 - 每次循环先获取用户输入
- 第一时间判断输入是否为"exit",如果是就执行
break跳出循环,完全跳过写入步骤 - 只有输入不是"exit"时,才执行文件写入操作
这样修改后,CSV文件里就不会出现"exit"字符串了。
内容的提问来源于stack exchange,提问作者jricks72
相关产品推荐
相关产品推荐

