我正在做一个终端模拟器,它可以创建、修改、读取和删除文件。创建、读取和删除函数都可以正常工作,但是我在使创建函数工作到只需要调用一次而不是每行调用一次的程度时遇到了一个问题。
我试着创建一个while循环,并尝试添加一个热键来打破循环,但每当我测试热键的想法时,我都无法实际运行程序的其余部分,因为脚本会在监听热键被按下时挂起。
我的循环是这样的
while True:
try:
f = open(fileName, 'a')
while running == True:
f.write(input('Enter text here:\n')+'\n')
f.close
break
except:
print('\nFile does not exist')
break
我会运行它,它将允许输入代码行,但我不能保存和关闭文件后,我把我想要的行数。
1条答案
按热度按时间myzjeezk1#
在查看了@Brian61354270的评论后,我发现一种方法是将整个块放入
with
上下文管理器中,同时仍在while
循环中最终我得到了这个,看起来很管用。
在程序中我根本不需要KeyboardInterrupt,因为除非我正在编辑文件,否则我有一个内置的exit函数,它只调用
exit()