簡體   English   中英

python從另一個模塊導入本地模塊

[英]python import local module from another module

我有以下結構:

root/
    folder1/
        main.py
        secondary.py
    folder2/
        test.py

main.py代碼始終從root文件夾運行,因此在main.py上,我有一個

from folder1.secondary import * 

所以我可以在main.py上使用它的功能-效果很好

tests.py ,我這樣做:

from root.folder1.main import myfunction 

(這是我需要測試的唯一功能),但無法顯示"ModuleNotFoundError: No module named 'folder1.secondary'

rootsys.path

我不明白為什么直接導入main.py卻不能從另一個文件夾導入。 我怎么解決這個問題?

謝謝

每個目錄中都必須有一個名為__init__.py的文件,以便Python解釋程序將該目錄視為可以從中導入內容的模塊。 該文件可以為空,但必須這樣命名。

您的新目錄結構如下所示:

root/
    __init__.py
    folder1/
        __init__.py
        main.py
        secondary.py
    folder2/
        __init__.py
        test.py

然后,你可以導入你的main.pytest.pyfrom root.folder1.main import myfunction

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM