【发布时间】:2020-02-03 05:27:45
【问题描述】:
所以我已经尝试了几个小时..DAYS 来找出同时运行 2 个 python 文件的代码。
我尝试过子进程、多进程、bash 之类的,我一定是做错了什么,我只是不知道是什么。
我有 2 个 python 文件,我想并行运行它们,但请注意它们都没有结束。我想在第一个文件打开并运行时运行第二个文件。
我尝试的所有操作都只打开第一个文件并停在那里,因为那里的脚本应该 24/7 运行。请注意,当我尝试使用单独的 bash 文件时,由于某种原因,它在 git 上打开然后关闭,什么也不做。我现在真的很绝望ngl
请提供详细的代码答案,因为我一直在扫描整个互联网(包括 StackOverflow),我已经尝试了所有方法,但似乎没有任何效果..
import subprocess
import LemonBot_General
import LemonBot_Time
import multiprocessing
def worker(file):
subprocess.Popen(["python3 LemonBot_Time.py"], stdout=subprocess.PIPE)
subprocess.Popen(["python3 LemonBot_General.py"],stdout=subprocess.PIPE)
if __name__ == '__main__':
files = ["LemonBot_General.py","LemonBot_Time.py"]
for i in files:
p = multiprocessing.Process(target=worker, args=(i,))
p.start()
这是我尝试过的最新版本,但没有成功。 我也单独尝试了子进程命令,但效果不佳。 Bash 文件也不起作用。
编辑:文件均未完成。我想并行运行它们。
【问题讨论】:
-
“请务必提供详细的代码答案,因为我一直在扫描整个互联网(包括 StackOverflow),我已经尝试了所有方法,但似乎没有任何效果。”您需要向我们展示您的内容'已经尝试并描述了您期望它如何工作以及它如何不工作。
-
确实有很多事情,我相信我做错了应该起作用的事情。我希望有 2 个脚本不会同时运行。我无法准确显示,因为我已经删除了所有不起作用的东西......对不起
-
@juanpa.arrivillaga 设法找到了一些东西,更新了。
-
为什么要将代码导入到一个进程中,还要调用单独的python进程来执行每个文件?
-
@SamMason 你是什么意思?我导入脚本是为了不每次都写入整个目录并使用 Popen 打开它们,但它只打开 1 个文件,因为它们没有完成。代码的最后一部分是我在 StackOverflow 中找到的一个可能的解决方案,但没有奏效。
标签: python python-3.x subprocess python-multiprocessing file-handling