簡體   English   中英

如何將 python 文件導入另一個 python 文件,其中兩個文件都沒有類並且位於同一目錄下?

[英]How do I import a python file into another python file where both files do not have classes and are under the same directory?

我在同一個文件夾中有 3 個文件:

  1. 二維碼測試.py
  2. 數據.py
  3. 托盤.py

它們都在名為“Project”的文件夾下。 只有Tray.py有一個名為“Tray”的 class,但其他 2 個文件不包含類。 我正在嘗試運行qrcodeTest.py ,但我需要導入 Data 和 Tray(這在我之前將所有這些文件放在同一個文件夾下並在 Pycharm 中運行時有效)。

在我的qrcodeTest.py文件中,我曾經有以下導入語句import Dataimport Tray但現在這些會導致導入錯誤。 如何在qrcodeTest中正確導入 Data 和 Tray 文件? 我的文件DataTray不包含函數。

[編輯 1] 我已經包含了 VSCode 中顯示的錯誤的屏幕截圖在此處輸入圖像描述

你可以運行你的代碼,對吧?

導入錯誤不正確。

我可以重現您的問題,但我不確定您遇到的導入錯誤是像我這樣的Pylance提示的。

如果是,您可以在 settings.json 文件中添加:

  "python.analysis.extraPaths": [
    "${workspaceFolder}/[some paths]/Project",
  ],

如果不是,請告訴我。

更新:

File > Preferences > Settings或快捷鍵Ctrl+,打開 settings.json 文件。 然后點擊此處打開 json 文件:

在此處輸入圖像描述

如果直接在 VSCode 中打開qrcodeTest.py文件,應該在 settings.json 文件中添加這個:

  "python.analysis.extraPaths": [
    "C:/Users/zacha/ZCFTest",
  ],

如果在 VSCode 中打開ZCFTest文件夾,則無需進行任何配置。

"python.analysis.extraPaths"表示Addtional import search resolution path

Pylance 需要知道要使用哪些導入解析路徑。 默認情況下,它使用工作區的根目錄。 您需要使用“python.analysis.extraPaths”設置添加這些附加路徑,如下所示:“python.analysis.extraPaths”:[“base”,“utils”,“dataset”,“”]注意這些路徑是相對於您的工作區根目錄。

由開發商解釋

# Data.py
A=10

#Tray.py
B=20

#qrTestCode.py
import Data
import Tray
print(Data.A, Tray.B)

假設您使用的是 Python 3.x,它應該很簡單。

暫無
暫無

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

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