1

我无法从树莓派 pico 上的 micro python 中的不同文件导入类。

例如。目录结构

目录/
  |__main.py
  |__imports/
    |_example.py

文件名:main.py


from imports.example import ex

a = ex("name")
a.print_name()

文件名:example.py


class ex:
    def __init__(self, name):
        self.name = name

    def print_name(self):
        print(self.name)

错误状态如下

Traceback (most recent call last):
  File "<stdin>", line 4, in <module>
ImportError: no module named 'imports.example'

当所有类都存在于同一个文件中时,该代码将起作用。我在 debain 上使用 pico-go vscode 扩展。我尝试在示例目录中添加 __ init __.py,但没有运气。

4

1 回答 1

1

__init__.py在目录中缺少一个空文件imports,它会“神奇地”(实际上按照惯例)imports变成一个包。

https://docs.python.org/3.8/tutorial/modules.html#packages

dir/
   main.py
   imports/
        __init__.py     # <= turns 'imports' into a package
        example.py
$ python main.py
name
于 2021-02-17T20:11:19.257 回答