繁体   English   中英

我无法从其他文件夹导入模块

[英]I can't import module from other folders

我无法从其他目录中自己的模块导入所有功能

my project structure:

/
|-code
    |-db_orm
        |-__init__.py
        |-db_interface.py
    |-streamlit
        |-pages
            |-subpage1.py
            |-subpage2.py
        |-main.py

我想使用以下代码将db_interface.py模块中的函数添加到subpage1.pysubpage2.py文件中:

from db_orm.db_interface import *

但我做不到!
我正在使用VS Codepython 3.9.13
谢谢你的帮助。

从其他目录导入模块的手动选项是SourceFileLoader
不遵循from语法,而是一个快速的解决方案,例如简短的试验:

from importlib.machinery import SourceFileLoader

db_interface = SourceFileLoader("db_interface",">YourSystemPath</db_interface.py").load_module()

# call
db_interface.foo()  # foo being a function in db_interface

注意: >YourSystemPath<可以是绝对的或相对的。


如果您只想保留对函数的调用,您可以在两者之间添加更多函数:

def foo():
    db_interface.foo()


foo()

同样,这对于较大的项目会变得混乱,但这是一种快速的解决方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM