2013-06-24 33 views
0

我有以下目录结构Python模块相对路径和顶级脚本

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

现在工具/ test.py有基本进口MotorController.py使用相对路径类似于下面的

一些测试代码

来自..Controller.MotorController.MotorController的工具/ test.py import *

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

这是一个相关的问题;假设我制作了一个如上所述的MotorController.MotorController.py包,该包适用于特定的机器人。现在我想要一些校准脚本只能在特定的机器人上运行,因此我打算将该脚本放在与MotorController.py相同的目录中。但似乎由于相对路径等原因,无法从包的同一目录运行脚本等等。在这种情况下是否存在解决方法或通用原则。

回答

0

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

0

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

标准是一个(通常是空的)__init__.py文件,请注意,有4个突出总。