gpt4 book ai didi

Python:在后台运行 xdg-open

转载 作者:太空宇宙 更新时间:2023-11-04 06:10:46 25 4
gpt4 key购买 nike

我有 Python 控制台应用程序。我尝试使用 xdg-open 并在后台运行它,但我不能。我试过了

os.system('xdg-open http://google.com &')
subprocess.call('xdg-open http://google.com &', shell=True)

最佳答案

我不明白你的意思

but I can't

因为它对我有用。但是,我想您是在提示父进程在子进程关闭之前不会关闭。

然而,该代码是一种过时的做法(如果它曾经受到赞成的话);现代的等价物是

process = subprocess.Popen(['xdg-open', 'Dunno.png'])

这不是要求 shell 为您创建 fork,而是从一开始就在后台运行,而无需通过 shell。这也应该可以解决上述问题。

如果你想捕获sys.stdout,你可以使用

process = subprocess.Popen(['xdg-open', 'Dunno.png'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)

将进程的 stdout 和 stderr 的输出重定向到缓冲区。 (您可以使用 process.stdoutprocess.stderr 访问这些缓冲区,并通过读取和写入这些缓冲区或使用 process.communicate 进行通信。

您可以通过process.returncode获取返回码。

如果您的问题不是这个,问题描述(回溯?)会很有用。同样值得检查的是,在 shell 中使用 xdg-open 的行为是否符合您的预期。

关于Python:在后台运行 xdg-open,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18894808/

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