5

我最近在我的 Mac OSX 10.6.8 上安装了 Python 3,直到现在我还没有遇到任何模块或导入问题。我正在编写一个函数,根据边的长度测试三角形是否为直角,并且练习所在的指南有一堆等式要测试,所以我可以看看它是否有效:

testEqual(is_rightangled(1.5,2.0,2.5), True)
testEqual(is_rightangled(4.0,8.0,16.0), False)
testEqual(is_rightangled(4.1,8.2,9.1678787077), True)
testEqual(is_rightangled(4.1,8.2,9.16787), True)
testEqual(is_rightangled(4.1,8.2,9.168), False)
testEqual(is_rightangled(0.5,0.4,0.64031), True)

我显然应该从一个名为 test 的模块中导入一个名为 testEqual(a,b,c) 的函数,因为指南中的示例程序以 开头from test import testEqual,但是当我将它输入到我的文件中时,我收到了以下消息:

  from test import testEqual
ImportError: cannot import name testEqual

我想我应该指定测试模块的路径,但我在计算机的任何地方都找不到它的 Python 3 库——只有计算机随附的 2.x 库,它们位于/Library/Python. import turtle并且import math工作,所以它必须在某个地方。

4

2 回答 2

5

Python stdlib 中的test模块不包含名为testEqual(). 它的文档以

注意:test包仅供 Python 内部使用。它的文档是为了 Python 的核心开发人员的利益。不鼓励在 Python 标准库之外使用此包,因为此处提到的代码可能会在 Python 版本之间更改或删除,恕不另行通知。

您确定您正在遵循的本指南没有test.py您应该使用的自己的程序吗?

于 2013-08-04T17:22:34.040 回答
0

当您编写 testEqual() 函数时,请记下您正在使用的目录。例如,在我的 Mac 上,我在文档中创建了一个目录(文件夹),因此我的路径如下所示:/Users/myName/Documents/python。将您的函数(模块)保存为 testEqual.py 并在编写 test.py 脚本时在 shebang 行之后导入 testEqual。调试完脚本后,您的模块将位于 python 创建的名为pycache的文件夹中,不要删除它,因为它是已编译的代码。现在,只要您在与模块相同的目录中工作,除了使用 import 语句之外,您不需要做任何事情。

于 2013-08-04T19:24:41.587 回答