[英]How to import a module into another module
這是我的項目的結構:
project (folder)
main.py
assets (folder)
a.py
b.py
當我將模塊 a 導入模塊 b 並運行 main.py 時,我得到No module named 'a'
。
然而,如果我直接運行 b.py,它導入 a.py 就好了。
a 和 b 在同一個目錄中,所以我錯過了什么? FWIW,我使用的是 Python 3.10。
主要.py:
import assets.b as bb
一個.py:
def func(x):
print(x)
b.py:
import a
a.func('hello')
按如下方式更新您的b.py
from . import a
a.func('hello')
或者
from assets import a
a.func('hello')
在第一種情況下,我們告訴解釋器檢查與文件相同的位置。 在第二種情況下,我們只是使用完整路徑。 使用 python 3.10.1 和 3.6 測試
如果您使用的是文件夾結構,最好根據您的main.py
修復您的執行路徑和相對路徑。 暗示從assets
運行python3.10 b.py
是不可接受的。
如果您希望從assets
文件夾和python3.10 main.py
執行python3.10 b.py
的功能,然后按如下方式更新代碼。
try:
from . import a
except:
import a
a.func('hello')
如果您堅持使用像 PyCharm 這樣的 IDE,那么這些錯誤很容易發現和修復。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.