2016-04-18 86 views
-1

我遇到__import__方法的问题。它似乎只导入模块的基本目录,而不是文件。__import__只能导入__init__.py

比如我有:

test_suite/assert_array_length.py 

当我通过这个到__import__

moduleLocation = "test_suite.assert_array_length" 
module = __import__(moduleLocation) 
print module 

我越来越:

[sub_directories]/test_suite/__init__.pyc 

调用序列会从run_tests.pytest_runner.pytest_runner.py然后进口assert_array_length.py。他们制定了这样的:

run_tests.py 
|-----------test_runner.py 
|-----------assert_array_length.py 

,因为它导入__init__.py,我不能让我从assert_array_length.py文件需要。

回答

0

__import__导入您要求的模块。但是,如果检查documentation,你会发现如下:

变量的形式package.module的,通常情况下,顶级包(这个名字了,直到第一个点)是返回,而不是按名称命名的模块。

你可能更喜欢importlib.import_module,这将返回package.module而不是package,如果你告诉它导入package.module

+0

非常感谢。这工作完美。 –

相关问题