簡體   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