当前位置: 首页 > 面试题库 >

带有隐藏窗口的跨平台子流程

汪臻
2023-03-14
问题内容

我想在后台打开一个进程并与之交互,但是该进程在Linux和Windows中均不可见。在Windows中,您必须使用STARTUPINFO做一些事情,而在Linux中这是无效的:

ValueError:仅在Windows平台上支持startupinfo

有比为每个操作系统创建单独的Popen命令更简单的方法吗?

if os.name == 'nt':
    startupinfo = subprocess.STARTUPINFO()
    startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
    proc = subprocess.Popen(command, startupinfo=startupinfo)
if os.name == 'posix':
    proc = subprocess.Popen(command)

问题答案:

您可以减少一行:)

startupinfo = None
if os.name == 'nt':
    startupinfo = subprocess.STARTUPINFO()
    startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
proc = subprocess.Popen(command, startupinfo=startupinfo)


 类似资料:
  • 问题内容: 我有一个简单的Python脚本,该脚本使用selenium和webdriver在Chrome窗口中打开Facebook并自动登录。当我运行它时,Chromedriver控制台窗口将打开并保持打开状态,即使在整个程序执行完毕后,也要自行关闭它。 有没有办法隐藏此控制台窗口?我曾尝试为脚本保留一个“ .pyw”扩展名,但这无济于事,因为它不是脚本的控制台窗口,而是我希望隐藏的Chromed

  • 问题内容: 我正在用Python写一个IRC机器人。 我希望为Linux和Windows制作独立的二进制文件。主要是希望机器人启动时隐藏控制台窗口,而用户则不能看到该窗口。 我该怎么办? 问题答案: 只需将其保存为.pyw扩展名即可。这将阻止控制台窗口打开。 在Windows系统上,没有“可执行模式”的概念。Python安装程序会自动将.py文件与python.exe关联,以便双击Python文件

  • 我用pyGtk制作了一扇没有装饰的窗户。该窗口隐藏在任务栏和所有窗口的顶部。在linux上,它可以正常工作,但在MS Windows窗口上,它有时会隐藏在其他窗口下,并且在Windows中的任务栏上总是有“python.exe”。 代表我问题的图片: 如何从任务栏隐藏这个“python.exe”窗口? 我的代码:

  • 问题内容: 我有一个使用Qt的Python程序(实际上是PyQt4),当我从main.py启动它时,我得到了一个控制台窗口和GUI窗口(当然是在Windows上)。 然后,我用py2exe编译程序,并成功创建main.exe。但是,如果我运行main.exe(程序的用户将执行此操作),Python的控制台窗口仍会出现,并且我所有的调试文本都将输出到该窗口。 我想在我的应用程序运行时隐藏cmd线窗口

  • 问题内容: 当我同时执行多个测试时,我不想保持Firefox浏览器窗口可见。我可以使用来最小化它,但我不想这样做。 有什么办法可以隐藏Firefox窗口吗?我正在使用FireFox WebDriver。 问题答案: 最终,我找到了使用Windows Machine通过任何方法运行测试的用户的解决方案。嗯,实现不是用Java编写的,但是您可以很容易地做到。 使用工具。它具有处理窗口的所有功能。这是一

  • 所以我想做的是让我的主菜单浮动,但同时是可调整大小的(窗口宽度),我也有一个隐藏的子菜单,我希望它遵循主菜单的规则。 此外,主菜单并不是从页面的顶部开始,但当你向下滚动时,我希望它能贴在顶部边缘并在那里Rest。 jsFiddle在这里 CSS JAVASCRIPT(jQuery的什么版本?) HTML(固定HTML格式,删除额外标记,添加缺失标记)