gpt4 book ai didi

python - 如何避免带有包含 os.system 调用的 .pyw 文件的控制台窗口?

转载 作者:太空狗 更新时间:2023-10-29 17:36:16 25 4
gpt4 key购买 nike

如果我将代码文件保存为 .pyw,则不会出现控制台窗口 - 这正是我想要的 - 但如果代码包含对 os.system 的调用,我仍然得到一个讨厌的控制台窗口。我假设它是由对 os.system 的调用引起的。有没有一种方法可以从我的 .pyw 脚本中执行其他文件,而根本不会弹出控制台窗口?

最佳答案

你应该使用 subprocess.Popen作为 startupinfo 参数值传递的类 subprocess.STARTUPINFO 的实例具有 dwFlags 属性的类持有 subprocess.STARTF_USESHOWWINDOW标志和 wShowWindow 属性持有 subprocess.SW_HIDE旗帜。这可以从阅读行中推断出 866-868 subprocess.py 源代码。可能还需要通过 subprocess.CREATE_NEW_CONSOLE标记为 creationflags 的值在 pythonw.exe 下运行时不打开控制台的参数。

当您使用 shell=True 时,恰好上述所有设置都正确,但这并不意味着它是正确的解决方案。我认为这不是因为它增加了运行命令解释器和解析参数的开销。此外,您应该记住,(...) 强烈建议根据文档在命令字符串由外部输入构造的情况下使用 shell=True子流程模块。

关于python - 如何避免带有包含 os.system 调用的 .pyw 文件的控制台窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1765078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com