gpt4 book ai didi

python - 从 python 脚本但在 python 脚本之外运行 python 脚本

转载 作者:行者123 更新时间:2023-12-01 09:07:38 28 4
gpt4 key购买 nike

这听起来像是谜语或笑话,但实际上我还没有找到这个问题的答案。

问题到底是什么?

我想运行 2 个脚本。在第一个脚本中,我调用另一个脚本,但我希望它们继续并行,而不是在两个单独的线程中。主要是我不希望第二个脚本在第一个 python 脚本中运行(这意味着如果我从 python 脚本运行 Chrome 浏览器,然后关闭 python 脚本,Chrome 也会被关闭)。

我想要的就像在 Linux 机器上一样:我打开两个终端并在每个终端中运行两个脚本 - 它们不是两个线程,它们彼此独立,关闭一个终端不会关闭另一个。或者它可以像在 Linux 机器上一样,我可以在后台终端中使用“python xxx.py &”(&) 符号运行 2 个 python 脚本。

摘要:

我想在“FIRST.py”脚本“SECOND.py”脚本中运行。然而,没有线程模块,主要是 SECOND.py 脚本独立于 FIRST.py 脚本,也就是说,关闭 FIRST.py 不会对 SECOND.py 产生任何后果。该解决方案应该适用于 WINDOWS、LINUX 和 MAC。

顺便说一句:我在 Windows 上尝试过:

subprocess.call(['python','second.py','&'])
subprocess.call(['python','second.py'])
os.system('python second.py') # I was desperate
  • 它们串行运行,因此 first.py 脚本会被阻止,直到 secondary.py 完成为止。

我还没有尝试过使用 daemon=False 进行线程,但我觉得它有点恶魔,而且我不觉得我的技能能够控制 Playground 之外的线程:)

提前感谢您的帮助

最佳答案

您可以使用 subprocess 模块中的 Popen 构造函数来启动后台进程,使用

import subprocess
p = subprocess.Popen(["python","second.py"])

创建后台进程,并且 first.py 的执行不会被阻止。

关于python - 从 python 脚本但在 python 脚本之外运行 python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51917981/

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