运行 python 来自 python 脚本但在 python 脚本之外的脚本
Run python script from python script BUT outside of python script
这听起来像是谜语或笑话,但实际上我还没有找到这个问题的答案。
究竟是什么问题?
我想要运行 2 个脚本。在第一个脚本中,我调用了另一个脚本,但我希望它们继续并行运行,而不是在 2 个单独的线程中运行。主要是我不希望第二个脚本在第一个 python 脚本中 运行ning(这意味着如果我 运行 Chrome 来自 python 脚本的浏览器然后关闭python 脚本,Chrome 也会被关闭。
我想要的是 Linux 机器上的样子:我打开两个终端,运行 每个终端中的两个脚本 - 它们不是两个线程,它们彼此独立,关闭一个会不要关闭另一个。或者它可以像在 Linux 机器上一样,我可以 运行 2 python 终端后台脚本 'python xxx.py &' (&) 符号。
总结:
我想运行里面的'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 脚本被阻止,直到 second.py 完成。
我还没有尝试使用 daemon=False 进行线程处理,但我觉得它有点像恶魔,而且我觉得我的技能还没有到可以控制游乐场之外的线程的程度: )
在此先感谢您的帮助
您可以使用 subprocess
模块中的 Popen
构造函数来启动后台进程,使用
import subprocess
p = subprocess.Popen(["python","second.py"])
创建一个后台进程并且 first.py
的执行未被阻止。
这听起来像是谜语或笑话,但实际上我还没有找到这个问题的答案。
究竟是什么问题?
我想要运行 2 个脚本。在第一个脚本中,我调用了另一个脚本,但我希望它们继续并行运行,而不是在 2 个单独的线程中运行。主要是我不希望第二个脚本在第一个 python 脚本中 运行ning(这意味着如果我 运行 Chrome 来自 python 脚本的浏览器然后关闭python 脚本,Chrome 也会被关闭。
我想要的是 Linux 机器上的样子:我打开两个终端,运行 每个终端中的两个脚本 - 它们不是两个线程,它们彼此独立,关闭一个会不要关闭另一个。或者它可以像在 Linux 机器上一样,我可以 运行 2 python 终端后台脚本 'python xxx.py &' (&) 符号。
总结:
我想运行里面的'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 脚本被阻止,直到 second.py 完成。
我还没有尝试使用 daemon=False 进行线程处理,但我觉得它有点像恶魔,而且我觉得我的技能还没有到可以控制游乐场之外的线程的程度: )
在此先感谢您的帮助
您可以使用 subprocess
模块中的 Popen
构造函数来启动后台进程,使用
import subprocess
p = subprocess.Popen(["python","second.py"])
创建一个后台进程并且 first.py
的执行未被阻止。