在不同的目录中运行 python 文件

Posted

技术标签:

【中文标题】在不同的目录中运行 python 文件【英文标题】:Running a python file within a different directory 【发布时间】:2021-08-16 07:18:21 【问题描述】:

我如何从main.py 运行整个test.pymain.pytest.py 都分配在应用程序文件夹中。 test.py 文件位于 app 文件夹中。我怎么能做到这一点,我下面的代码不起作用?

目录:

application folder
├── appFolder
│   └──test.py
└── main.py

Main.py:

from .appFolder import test
from subprocess import call
call(["Python3","test.py"])

【问题讨论】:

【参考方案1】:

您无需导入任何内容,只需引用main.py 中的文件夹名称即可。为了使其更健壮,您可能应该使用相对文件,否则您可能会得到一些奇怪的结果,具体取决于调用 main.py 的位置。

import os.path
from subprocess import call

d = os.path.dirname(os.path.realpath(__file__))  # application folder
call(["python3", f"d/appFolder/test.py"])

另请参阅:https://***.com/a/9271479/1904146

【讨论】:

以上是关于在不同的目录中运行 python 文件的主要内容,如果未能解决你的问题,请参考以下文章

Python导入并运行位于不同目录中的python脚本[重复]

用于比较两个不同目录中文件内容的Python程序

如何在不同目录中运行bat文件

如何将python中的图像保存在不同的目录中?

如何在驻留在不同路径的包上运行带有mod选项“-m”的Python3?

如何在 python 的非工作目录中运行命令?(不是通过给出路径)