我正在分析文件,可能要花很多时间。 但是当我按Ctrl+C终止脚本时,Python只会停止读取一个文件并转到下一个文件。它不会杀死整个scirpt。 我该怎么做?你知道吗
from os import listdir
from os.path import isfile, join
folder = '...'
for folder in folders:
filesInFolder = [f for f in listdir(folder) if isfile(join(folder, f))]
for file in filesInFolder:
try:
with open(folder+'\\'+file, "r") as file:
# Analyzing
except KeyboardInterrupt:
# Kill the whole script!
目前,我唯一的解决办法是杀死Python并失去目前为止所做的所有工作。。。你知道吗
将try移出for循环:
您需要的是一个信号处理程序,它在按下ctrl+c时被调用并终止整个脚本。试着把这段代码放在当前代码的上面(在有其他导入的地方使用import语句),然后试一试。如果希望ctrl+c执行其他操作,例如关闭文件,请将其放入
signal_handler
函数中。所以在print
上面,如果你打开了一个文件,你可以添加File.close()
,等等相关问题 更多 >
编程相关推荐