首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python导入方案

Python导入方案
EN

Stack Overflow用户
提问于 2017-05-16 16:12:43
回答 1查看 239关注 0票数 1

我正在尝试编写python库,其中一些文件依赖于其他文件,例如:

我有文件夹结构:

代码语言:javascript
复制
../libname
../libname/core.py
../libname/supplementary1.py
../libname/supplementary2.py
../libname/__init__.py

在哪里libname是我导入的地方。

core.py文件以以下开头:

代码语言:javascript
复制
import supplementary1
import supplementary2

...some代码..。

如果我在的core.py中测试它,这是很好的。

假设我想在我的项目中使用libname作为库。我的文件夹结构是:

代码语言:javascript
复制
./libname
./main.py

其中main.py从core.py调用函数,这实际上需要来自supplementary1和supplementary2的函数。

目前,如果我尝试(在supplementary1中),它会抛出一个错误,说明没有main.py。

代码语言:javascript
复制
from core.py import function1

我的问题是,如何从我的库导入文件?我的意思是,一种选择是将所有代码从例如supplementary1复制到core.py,但如果可能的话,我希望保持代码的优雅分离。

换句话说,如何导入已经从本地库导入一些文件的文件?

非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-16 16:34:31

import ...from ... import ...中,您需要编写的不是文件名,而是模块名。与core.py不同,您应该说libname.core,意思是“core,from package libname”(libname将是在所有模块路径中搜索,通常包括已启动脚本的目录,即main.py所在的位置)。

博士:你的问题的一个简单的答案是写from libname.core import function1

另外,我建议使用相对进口,而不是import supplementary1 and from . import supplementary1 --在这里,from .的意思是“来自当前的包--这个文件(模块)驻留在其中”。

请考虑阅读关于模块的Python文档 --这里有很多例子和解释。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44006564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档