【发布时间】:2021-12-24 08:47:06
【问题描述】:
有没有一种pythonic方法可以从其目录运行另一个python文件
假设我有两个文件
main/one/test.py
main/two/other.py
为了在 other.py 的目录中运行 other.py,我必须在 test.py 中放入什么代码
【问题讨论】:
有没有一种pythonic方法可以从其目录运行另一个python文件
假设我有两个文件
main/one/test.py
main/two/other.py
为了在 other.py 的目录中运行 other.py,我必须在 test.py 中放入什么代码
【问题讨论】:
import os
os.system('python3 ./other.py')
【讨论】:
import sys
sys.path.append('../')
from two import other
这仅适用于从当前目录运行,即使用python test.py 而不是python main/one/test.py。../ 表示当前目录的父级,例如如果你在main/one,../ 就是main。所以在这里,第 2 行将 main 附加到 PYTHONPATH,这意味着它现在将文件夹 main 添加到要从中导入模块的目录列表中。这意味着您可以从main 中的任何文件夹或文件导入/导入。
然后,第 3 行导入 main/two/other.py,导致该文件中的任何代码都运行。
【讨论】: