从其他目录导入脚本

时间:2014-01-18 14:46:44

标签: python function import module directory

我想知道如何将python脚本从不同的目录(在本例中为父目录)导入到我的主脚本中。

我使用以下代码将父目录附加到sys.path列表,然后导入脚本(main.py)以使用此文件中的函数:

import sys, os
sys.path.append(os.path.abspath("../"))
from main import draw_text_on_screen

但是,当我从main.py脚本调用此函数时,出现以下错误:

ImportError: No module named 'main.py'; main is not a package

任何人都可以帮我解决这个问题吗?或者,是否有另一种导入模块的方法,我可以指定完整的目录路径?

谢谢你们。

1 个答案:

答案 0 :(得分:1)

当我使用Pythonscript parent创建文件夹parent.py并在parent中创建另一个名为child的文件夹,其中包含child.py我能够导入(并使用)parent.pychild.py的所有功能,代码如下:

<强> child.py

import sys, os
sys.path.append(os.path.abspath("../"))

from parent import myFunction

myFunction()

<强> parent.py

def myFunction():
    print('Hi there')

控制台输出:

> C:\Users\Rick\Desktop\parent\child>child.py
Hi there