如何将一个 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. qrcodeTest.py
  2. Data.py
  3. Tray.py

它们都在名为“项目”的文件夹下。只有 Tray.py 有一个名为“托盘”的 class,但其他 2 个文件不包含 class。我正在尝试 运行 qrcodeTest.py 但我需要导入数据和托盘(这以前工作时我将所有这些文件放在同一文件夹下并且 运行 它在 Pycharm 中) .

在我的 qrcodeTest.py 文件中,我曾经有以下导入语句 import Dataimport Tray 但现在这些会导致导入错误。如何在 qrcodeTest 中正确导入数据和托盘文件? 我的文件 DataTray 不包含函数。

[编辑 1] 我附上了 VSCode 中显示的错误的屏幕截图

# Data.py
A=10

#Tray.py
B=20

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

假设您正在使用 Python 3.x,它应该很简单。

你可以运行你的代码,对吧?

导入错误不正确。

我可以重现你的问题,但我不确定你遇到的导入错误是不是像我一样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 needs to know which import resolution paths to use. By default, it uses the root of your workspace. You will need to add these additional paths using the "python.analysis.extraPaths" setting like this: "python.analysis.extraPaths": ["base", "utils", "dataset", ""] Note that these paths are relative to your workspace root directory.

来自开发者 explain.