簡體   English   中英

python子包從鄰居子包導入

[英]python subpackage import from neighbour subpackage

考慮以下層次

MusicEditor (package)
        Converters (subpackage)
            ...
        Transformations (subpackage)
            ...
        Utility (subpackage)
            ...

將實用程序子包中的文件/模塊導入Converters子包中的文件的正確方法是什么?

例如,將Utility / string.py導入到Converters / wav.py文件中

我將如何去做呢?


編輯以回應Ismael Infante

以下內容正確嗎?

假設MusicEditor位於/ usr / something / MusicEditor中。 然后我將如下編輯python路徑?

PYTHONPATH = PYTHONPATH + /usr/something/

然后,我將初始化文件添加到每個目錄,如下所示:

MusicEditor (package)
        __init__.py
        Converters (subpackage)
            __init__.py
            ...
        Transformations (subpackage)
            __init__.py
            ...
        Utility (subpackage)
            __init__.py
            ...

然后將實用程序中的某些內容包含在轉換器中的文件中,我將簡單地進行以下操作:

(MusicEditor/Converters/wav.py)

import MusicEditor.Utility.string

這個對嗎? 但我也可以使用以下相對路徑

(MusicEditor/Converters/wav.py)

import ..Utility.string

是?

您必須在每個目錄中放入一個__init__.py空文件。 這樣,您的目錄將成為軟件包。

之后,您必須設置PYTHONPATH變量。 此變量必須指向MusicEditor的父目錄。 正是通過此變量,Python解釋器才能訪問您的包。

暫無
暫無

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

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