簡體   English   中英

如何將一個模塊導入另一個模塊

[英]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.

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