簡體   English   中英

Python:互相導入

[英]Python: import each other

我知道有關此問題的一些問題: Python文件-彼此導入

但是此解決方案對我不起作用。

這是目錄結構:

├── tester.py
└── utility
    ├── __init__.py
    ├── analysis.py
    └── util.py

__init__.py

from .analysis import *
from .util import *

analysis.py

import util


def funcA():
    print("a")

util.py

import analysis

def funcB():
    print("b")

但這發生了

ImportError: No module named 'util'

我想以定義的方式來__init__.py

有什么辦法可以解決這個問題?

這是循環進口的經典案例。 analysis是從util導入的,而util是從分析導入的。 盡管您可以解決問題,但可以通過在函數/方法內部導入以使其在運行時發生的方式,建議您改進代碼的設計。

通常,循環導入錯誤表明您的代碼設計存在問題。 在你的情況,無論是在代碼analysis文件, util文件屬於一起在一個單一的文件,或者你需要這兩個文件的共同內容存儲在單獨的common文件,並導入由common ,而不是從進口在這兩個文件,彼此。

暫無
暫無

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

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