如何在python中导入模块

时间:2019-04-15 08:17:41

标签: python testing python-import directory-structure

我正在用python做一个lambda函数。这是我项目的当前结构。

lambda/
|-- package_name/
|   |-- __init__.py
|   |-- lambda_function.py
|   |-- a.py 
|   |-- utils.py
|
|-- tests/
|   |-- __init__.py
|   |-- test_main.py
|-- setup.py
|-- README

我想在test_main.py中导入lambda_function.py和a.py

我尝试了

from a import *
import a
from package_name import a

和其他一些,但没有任何作用。

您能解释一下什么是正确的解决方案,为什么我尝试的方法实际上无效?

3 个答案:

答案 0 :(得分:1)

如果您的工作目录为lambda,请尝试:

from package_name import a

在一些预定的地方python将寻找软件包。通常,工作目录就是其中之一。

请参阅:https://leemendelowitz.github.io/blog/how-does-python-find-packages.html

答案 1 :(得分:0)

我建议您阅读Python文档中的import
Python 3:https://docs.python.org/3/reference/import.html Python 2:https://docs.python.org/2/tutorial/modules.html

,但是您可以使用import * from ../package_name/aimport * from ../package_name/lambda_function

相对导入它

否则,您需要将package_name文件夹添加到sys.path,然后按照您的尝试添加import * from a

添加到sys.path可以通过

完成:
import sys
module_path = "the path to your package_name"
sys.path.insert(0, module_path)

答案 2 :(得分:0)

columns[0].filter(col => col != "");

您尝试的操作不起作用,因为您要访问的文件位于其他目录中。