我正在Python3.7.0
机器上使用Windows 10
。
我有一个程序,每5分钟通过任务计划程序运行一次,如果满足某些参数(这是一天中的指定时间),则需要用户输入。否则,程序结束。
每5分钟,即使不需要用户输入,也会弹出一个python窗口,因为该程序是通过python.exe运行的。
为避免此问题,有没有办法通过pythonw.exe运行脚本并仅在需要用户输入时打开终端?
我需要的代码将是下面的sudo代码:
if (conditions are met):
open terminal window
run program in terminal window
close terminal window
else:
do nothing
答案 0 :(得分:0)
从伪代码看来,如果不满足条件,程序将 没有。
我建议您的解决方案不正确,您应该确保仅在需要时运行程序,Windows Scheduler轻松地支持该程序,请参阅documentation。
您没有提供有关如何设置任务的详细信息,但是文档中提供了示例脚本,c ++和XML的示例,这些脚本可以在每天here的特定时间运行任务。
答案 1 :(得分:0)
要打开终端并运行批处理命令,请执行bash命令start cmd.exe /k "more-batch-commands-here"
作为子进程或使用os模块。
process = subprocess.Popen(
'''start cmd.exe /k "more-batch-commands-here"''',
stdout=subprocess.PIPE,
stderr=None,
shell=True
)
编辑:没有注意到不需要用户输入。
这不是您要查找的确切答案。打开输入窗口:
from tkinter import simpledialog
str_ = simpledialog.askstring("Title","Enter a string:")
注意:这可能不适用于所有类型的机器。但是对于Windows 10,这应该可以正常工作。