【发布时间】:2019-12-31 21:36:59
【问题描述】:
我正在尝试创建一个像这样的简单包:
areas
__init__.py
circunferencia.py
rectangulo.py
我将此文件保存为area.py。 circunferencia.py 包含以下内容:
PI=3.1415
def area(r):
return PI*r**2
还有矩形:
def area(a):
return a*a
我创建另一个 .py:
import areas
print(areas.circunferencia.area(3))
print(areas.rectangulo.area(2))
当我尝试运行我的包时,它给了我这个错误
__init__.py
^
IndentationError: unexpected indent
我不明白代码有什么问题,你能帮帮我吗?谢谢!
【问题讨论】:
-
areas 应该是系统上的文件夹/目录,而不是文件,其中包含您的 python 文件(__init__.py、circunferencia.py rectangulo.py)
-
等等,
areas和__init__.py文本的第一个位是来自您尝试运行的实际文件吗?错误消息看起来像是您正在尝试实际执行它。这就是您的目录结构应该是什么样子,而不是您应该实际放入.py文件中的文本。 -
包由目录结构定义,进入子目录去
__init__.py文件和实现功能的whatever.py文件。见packaging.python.org/tutorials/packaging-projects -
谢谢,所以我将它保存在 \AppData\Local\Programs\Python\Python37\Lib\site-packages 中一个名为“areas”的文件夹中,然后放在那里 circunferencia.py 和rectangulo.py。我称为 area.py 的文件应该称为 init.py?
标签: python module package syntax-error ident