我正在使用Python 2.5.4,并尝试使用decimal模块。当我在解释器中使用它时,没有问题。例如,这个是可以工作的:
>>> from decimal import *
>>> Decimal('1.2')+ Decimal('2.3')
Decimal("3.5")
但是,当我放置以下代码时:
from decimal import *
print Decimal('1.2')+Decimal('2.3')
如果将以下代码放在单独的文件(decimal.py)中并以模块形式运行时,解释器会报错:
NameError: name 'Decimal' is not defined
我还尝试将这段代码放在一个单独的文件中:
import decimal
print decimal.Decimal('1.2')+decimal.Decimal('2.3')
当我将它作为模块运行时,解释器会提示:
AttributeError:'module'对象没有属性'Decimal'
发生了什么?
print sys.version
。 - David Zdecimal.py
的文件,它正在被导入而不是Python内置的那个。 - John La Rooyimport decimal
后面加上print dir(decimal)
,然后检查哪些函数被公开了。 - Douglas Leeder