【发布时间】:2019-05-24 08:48:59
【问题描述】:
我正在尝试导入一个函数。文件夹/文件的命名空间由工作目录中的文件占用。我正在尝试找到一种可以导入它的方法:
- 不更改任何名称
- 仅将函数导入到工作文件中
(下面的package_1和package_2是源文件夹)
package_1\
foo\
__init__.py
bar.py (myfunc, myfunc2 in this file)
package_2\
subpackage_2\
__init__.py
foo.py
bar.py
hoo.py
我希望将 myfunc 和 myfunc2 导入到 hoo.py
我通常会做什么:
from foo.bar import myfunc, myfunc2
不过foo 已经被占用了(还有bar,但我认为这并不重要)
我尝试过的解决方案:
我可以通过导入subpackage_2 的__init__.py 然后再次导入来实现此功能:
__init__.py:
from foo.bar import myfunc, myfunc2
hoo.py:
from subpackage_2 import myfunc, myfunc2
但是我不想导入整个子包
尝试但未成功:
我一直在尝试从sys.path 中临时删除package_2,然后导入,然后再添加package_2。我真的找不到正确的方法。
【问题讨论】:
标签: python-2.7 import namespaces