2017-08-29 87 views
-1

如何导入项目子文件夹,以便项目导入后可用?如何导入项目子文件夹,以便在导入已安装项目后可用?

例如如何导入project.tools的内容,以便在导入项目后使用import projectproject.tools.common.function()可用?

project 
| 
|--tools 
| |--__init__.py 
| \--common.py 
| 
|--__init__.py 
|--core.py 
\--cli.py 

我已经试过如下:

  1. from . import toolsproject/__init__.pyproject/tools/__init.pyfrom . import *这导致:ImportError: cannot import name 'tools'
  2. from .tools import * in project/__init__.py and from . import * in project/tools/__init.py产生:ModuleNotFoundError: No module named 'project.tools'
  3. from .tools import common in project/__init__.py and from . import * in project/tools/__init.py产生:ModuleNotFoundError: No module named 'project.tools'
+0

可能重复的[从子目录导入文件?](https://stackoverflow.com/questions/1260792/import-a-file-from-a-sub目录) – durduliu2009

+0

没有这是关于一个可安装的项目(其中可以使用'import project'导入) – Greg

回答

0

使用import tools直接您的.py脚本。在函数调用中使用tools.common.function()

当您在您的文件夹中放置init.py时,该文件夹变为可调用。 因此,您可以将该文件夹及其脚本直接导入到脚本中。

-1

这将解决您的问题

import tools.common as COMMON 
COMMON.function() 
+0

结果:'ModuleNotFoundError:没有名为'tools''的模块 – Greg

+0

你在哪个文件中放入我的代码?这应该放在你的主脚本中(core或cli.py) – durduliu2009

+0

'project/__ init __。py' – Greg