2019-01-28

Python Import the class within the same directory or sub directory

引用同一資料夾中的類別

假設有已有如下的資料結構,在 myfolder 中有 Order, Product, User, Manager 四個 class,要引用到 main.py 中使用。

myfolder
+-- main.py
+-- subdir
|   +-- order.py
|   +-- product.py
+-- user.py
+-- manager.py

Python 2

建立一個名為 __init__.py 的空檔案,放在同一個資料夾中

在 main.py 中

from user import User
from manager import Manager

資料夾範例:

myfolder
+-- main.py
+-- subdir
|   +-- order.py
|   +-- product.py
+-- __init__.py
+-- user.py
+-- manager.py

如果是要引用子目錄中的類別,則是在子目錄中建立 __init__.py

from subdir.order import Order
from subdir.product import Product

子資料夾範例:

myfolder
+-- main.py
+-- subdir
|   +-- __init__.py
|   +-- order.py
|   +-- product.py
+-- user.py
+-- manager.py

Python 3

在同一目錄下引用直接使用 .user,參考如下:

在 main.py 中

from .user import User
from .manager import Manager

資料夾範例:

myfolder
+-- main.py
+-- subdir
|   +-- order.py
|   +-- product.py
+-- __init__.py
+-- user.py
+-- manager.py

沒有留言:

張貼留言