Python在同一目录中创建/导入自定义模块

时间:2011-08-27 15:00:20

标签: python

我正在尝试创建一个简单的python脚本并导入一些自定义类。我想把它作为一个模块来做。这就是我所拥有的:

点/ point.py

class Point:
   """etc."""

点/ pointlist.py

class PointList:
   """etc."""

点/ __初始化__。PY

from . import point, pointlist

script.py

import sys, point
verbose = False
pointlist = PointList()

当我运行script.py时,我得到NameError: name 'PointList' is not defined

奇怪的是,在这一点上,所有三个模块文件(__init__,pointlist,point)都创建了一个之前没有的.pyc版本,所以它似乎正在查找文件。类文件本身也可以编译而没有任何错误。

我觉得我可能错过了很简单的东西,所以请耐心等待。

1 个答案:

答案 0 :(得分:12)

对不起,我似乎在我之前的回答和评论中犯了一个大错:

这里的问题是您应该通过导入的模块访问point中的对象:

point/__init__.py

from point import Point
from pointlist import PointList

script.py:

import sys, point
verbose = False
pointlist = point.PointList()

您可以通过导入PointList访问point,导入__init__.py

中的内容

如果您想直接访问PointListPoint,可以使用from point import Point, PointList中的script.pyfrom point import *

再次,抱歉我之前的错误。