繁体   English   中英

如何手动关闭 .pyw

[英]How to close a .pyw manually

我有一个永远不会自动退出的python程序。 但是,它确实需要在某个时候这样做。 它必须在没有控制台的情况下运行,所以我将它保存为 .pyw,但这意味着没有 X 可以单击来关闭它。 如何在不重新启动机器的情况下手动关闭它? 我在 Windows 上,以防它需要命令行。

如果你只运行一个 pythonw,你可以执行 taskkill /IM pythonw.exe /F 。 将此输入终端或在桌面或任何您想要的地方创建链接。

你可以制作一个文件。 .pyw 程序应该每 1 秒检查一次。 如果文件发生更改,请在 .pyw 程序中运行quit()命令。 但是不要每次都检查它,因为它会失败,因为文件处于“更改”状态。

示例:

### 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 ,程序将停止

您可以在脚本中包含线程以获取输入

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() 将停止 main thead 但您需要以 fun() 线程也结束以实际结束程序的方式进行管理

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM