我有一个Python程序,它永远不会自动退出。但是,它某个时刻必须退出。它必须在没有控制台的情况下运行,因此我将其保存为.pyw文件,但这意味着没有X可以单击以关闭它。 在不重新启动计算机的情况下,我该如何手动关闭它?我在Windows上,如果需要,可以使用命令行。
我有一个Python程序,它永远不会自动退出。但是,它某个时刻必须退出。它必须在没有控制台的情况下运行,因此我将其保存为.pyw文件,但这意味着没有X可以单击以关闭它。 在不重新启动计算机的情况下,我该如何手动关闭它?我在Windows上,如果需要,可以使用命令行。
你可以在你的脚本中包含线程来接收输入
from pynput.keyboard import Key, Listener
import threading
import sys
def on_press(key):
global pause
if str(format(key))[1]=='`':
sys.exit()
def fun():
YOUR CODE HERE
threading.Thread(target=fun).start()
with Listener(
on_press=on_press) as listener:
listener.join()
按下“`”键将退出您的代码
sys.exit()将停止主线程,但您需要以一种方式管理fun()线程,使其也结束以实际结束程序
quit()
命令。但不要每个tick都检查它,因为文件处于“正在更改”的状态下会失败。### Do Something here...
from datetime import datetime
last = 0 #Record the last time to do checking, for now, just put it to any number you want
while True:
now = datetime.now()
second = now.second
if now != second:
### Do checking here for example, a file called "quit_state.txt"
date = open("quit_state.txt",'r').read().strip() ### Strip the data
if date == "quit":
quit()
只需将文件数据更改为quit
,程序就会停止