使用相对路径从另一个py脚本运行py脚本

时间:2019-05-31 23:00:55

标签: python

both scripts在同一目录中时会有一些答案。

但是,我无法获得here中提到的任何答案,都是针对相对路径的。它们用于知道完整路径。

我具有以下文件夹层次结构

enter image description here

我需要在commander.py中调用并运行sub.py

以下内容位于commander.py

import importlib.util
spec = importlib.util.spec_from_file_location('sub.py', '..//main/sub/sub.py')
foo = importlib.util.module_from_spec(spec)
spec.loader.exec_module(foo)
foo.main()

它可以识别目录,因为我可以在子文件夹中创建pycache'文件夹。

但是子脚本无法运行。 我已经手动启动了子脚本,我知道它可以正常工作。

子脚本具有以下结构

import stuff

def main():
   do stuff
return

while true:
  main()
break

我是python的新手。 我也尝试过:

import sys
    sys.path.insert(0, '..\\main\sub')

    import sub.py 

    sub.main()

我正在使用py 3.7 没有错误

2 个答案:

答案 0 :(得分:1)

git checkout a123456 -- somedir/somepackage.java

答案 1 :(得分:-1)

使用python导入文件,然后运行该文件。

给出此结构

-project
    -module
        -__init__.py
        -module_hello.py
    -__init__.py
    -hello.py

这些文件

# module_hello.py
print('hello')

# hello.py
from project.module import module_hello

运行hello.py将导致打印问候。

相关问题