gpt4 book ai didi

python-2.7 - 使用命名空间时如何导入函数?

转载 作者:行者123 更新时间:2023-12-04 16:57:06 24 4
gpt4 key购买 nike

我正在尝试导入一个函数。文件夹/文件的命名空间由工作目录中的文件占用。我试图找到一种可以导入它的方法:

  • 不更改任何名称
  • 仅将函数导入工作文件

  • (以下 package_1package_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

    我要 myfuncmyfunc2导入到 hoo.py我通常会做的事情:
    from foo.bar import myfunc, myfunc2

    然而 foo已经被占用(还有 bar,但我认为这并不重要)

    我试过的解决方案:

    我可以通过导入到 __init__.py 来让它工作的 subpackage_2然后再次导入:
    __init__.py :
    from foo.bar import myfunc, myfunc2
    hoo.py :
    from subpackage_2 import myfunc, myfunc2

    但是我不想导入整个子包

    尝试过但没有成功:

    我一直在尝试暂时删除 package_2来自 sys.path然后导入,然后添加 package_2回来。我真的找不到这样做的正确方法。

    最佳答案

    我想我已经找到了答案(或者至少它有效)。虽然如果有更好的我很想知道。

    bar = __import__('foo.bar') # I did initially use from_list but looks like I don't need it
    myfunc, myfunc2 = bar.myfunc, bar.myfunc2

    关于python-2.7 - 使用命名空间时如何导入函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56289007/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com