当前位置:   article > 正文

python如何做到只在服务启动时执行_在后台启动时执行python脚本

pyinstaller加入启动项 后台运行

实际上,弹出的窗口应该不是python窗口,而是操作系统运行的命令的窗口(如果有两个窗口,则需要按照下面的建议删除实际的python窗口)。您可以在使用subprocess模块时阻止它,类似于os模块。通常,子流程也会创建一个窗口,但您可以使用此调用函数来避免它。如果您希望通过管道将标准输入和输出到流程中,那么它甚至会使用可选参数input和return output,在本例中不需要这样做。在def call(command,io=''):

command = command.split()

startupinfo = subprocess.STARTUPINFO()

startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW

if io != None:

process = subprocess.Popen(command,stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.PIPE,startupinfo=startupinfo,shell=False)

return process.communicate(io)[0]

这应该有帮助。你会用它来代替操作系统()

而且,即使没有python,也可以通过pyinstaller将其变成可执行文件来使其工作(尽管您确实不应该在其他系统上使用它)。实际上,您可能需要在更改startupinfo子流程的同时执行此操作,才能使其正常工作。与py2exe或cxfreeze不同,pyinstaller非常容易使用,并且工作可靠。安装pyinstallerhere(它是一个zip文件,但是pyinstaller和其他站点会记录如何使用这个文件安装它)。如果要从命令行创建可执行文件,则可能需要在系统“path”变量中包含pyinstaller命令(可以从“控制面板”执行)。只是打字

^{pr2}$

你将得到一个单独的文件,独立的,无窗口的可执行文件。w使其无窗口,-F使其成为独立文件,而不是多个文件的集合。您应该会看到从中调用pyinstaller的dist子目录,该子目录将包括(可能会忽略的)单个独立的可执行文件,它不需要python,并且不会导致任何窗口弹出。在

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/72414
推荐阅读
相关标签
  

闽ICP备14008679号