如何从另一个python代码运行python代码

如何从另一个python代码运行python代码,python,subprocess,Python,Subprocess,我在不同的文件夹中有多个python代码,它们必须按顺序运行。以前也有过类似的问题,但答案似乎并不正确。我尝试了以下命令: subprocess.check_call(["Python", "D:/demo/full_alg.py"]) subprocess.check_output(["Python", "D:/demo/full_alg.py"]) os.system("D:/demo/full_alg.py") 该full_alg.py文件在执行时必须打印出执行代码的文件列表,并创建相应

我在不同的文件夹中有多个python代码,它们必须按顺序运行。以前也有过类似的问题,但答案似乎并不正确。我尝试了以下命令:

subprocess.check_call(["Python", "D:/demo/full_alg.py"])
subprocess.check_output(["Python", "D:/demo/full_alg.py"])
os.system("D:/demo/full_alg.py")

该full_alg.py文件在执行时必须打印出执行代码的文件列表,并创建相应的tiff文件,我想知道为什么您不尝试导入
full_alg.py
包,并基于main中的函数调用来消耗调用结果。但是,如何精确地完成这项工作在很大程度上取决于
full_alg.py
的内容

如果您坚持运行运行另一个python脚本的子进程,我建议您查看
多处理
模块和示例


代码无法工作的原因可能是
PATH
中缺少
Python
解释器。我建议将完整路径传递给您正在使用的解释器和脚本。在运行
子进程时应该这样做。检查调用
子进程。检查输出
。对于最后一个(
os.system
),我认为它无法运行,除非您将python解释器设置为打开
*.py
文件的默认应用程序,即使这样,它也取决于要运行的操作系统的非明显配置。

您可以使用
子流程
库,如下所示:

import subprocess

args = ['{}/manage.py'.format('/home/<you>/<path>'), 'runserver']
subprocess.Popen(args, stdout=subprocess.PIPE)

尝试在
“D:/demo…”
前面添加一个
/
,如
/D:/demo/…
不,这不起作用。.可能重复使用此方法@rao I更新我的答案,希望能帮助您感谢您建议使用该模块,但示例定义了一个函数,然后在主界面中调用该函数。我想知道如何在外部调用python脚本并执行它?
import subprocess

python_version = '3'
path_to_run = './'
py_name = '__main__.py'

# args = [f"python{python_version}", f"{path_to_run}{py_name}"]  # Available in python3
args = ["python{}".format(python_version), "{}{}".format(path_to_run, py_name)]

res = subprocess.Popen(args, stdout=subprocess.PIPE)
output, error_ = res.communicate()

if not error_:
    print(output)
else:
    print(error_)