0

我有以下目录结构

Root/
    Main.py
    /Controller->
        /MotorController->
            MotorController.py
            __init__.py
    /Tools->
        test.py

现在 Tools/test.py 有一些测试代码,基本上使用相对路径导入 MotorController.py,如下所示

Tools/test.py 从 ..Controller.MotorController.MotorController 导入 *

这给出了一个错误,即不能在非包上使用相对路径。将 test.py 移动到 Root 目录可以解决问题,但我真的希望我的脚本位于 Tools 目录中。我该怎么做呢 ?。

这是一个相关的问题;假设我像上面那样制作了一个适用于特定机器人的包 MotorController.MotorController.py。现在我想要一些仅适用于该特定机器人的校准脚本,因此我计划将该脚本放在与 MotorController.py 相同的目录中。但是由于相对路径等原因,似乎无法从与包相同的目录中运行脚本。在这种情况下,有没有办法或一般原则是什么。

4

2 回答 2

0

要制作文件夹的包,您必须包含和__init__.py文件(可以为空)。
因此,您应该在根结构的每个文件夹中添加这些文件之一。

于 2013-06-24T19:11:54.077 回答
0

您需要一个文件来表明该文件夹是一个 python 包。

标准是一个(通常是空的)__init__.py文件,注意总共有 4 个下划线。

于 2013-06-24T19:13:50.333 回答