En Python, comment utilisez-vous décimal module dans un script plutôt que l'interprète?

Je suis à l'aide de Python 2.5.4 et l'utilisation de la virgule module. Lorsque je l'utilise dans l'interpréteur, je n'ai pas de problème. Par exemple, cela fonctionne:

>>> from decimal import *
>>> Decimal('1.2')+ Decimal('2.3')
Decimal("3.5")

Mais, quand j'ai mis le code suivant:

from decimal import *
print Decimal('1.2')+Decimal('2.3')

dans un fichier séparé (appelé decimal.py) et de l'exécuter en tant que module, l'interprète se plaint:

NameError: name 'Virgule' n'est pas défini

J'ai aussi essayé de mettre ce code dans un fichier séparé:

import decimal
print decimal.Decimal('1.2')+decimal.Decimal('2.3') 

Quand je le lance en tant que module, l'interprète dit:

AttributeError: 'module' objet n'a pas d'attribut 'Virgule'

Ce qu'il se passe?

Êtes-vous sûr que le script est en cours d'exécution avec la même version de Python que votre interactive interprète? Essayez de le mettre dans un print sys.version si vous voulez vérifier.
Peut-être que vous avez créé un fichier appelé decimal.py qui est importé au lieu de Python intégré
J'ai essayé de courir dans mon script: import sys print sys.version et oui, l'interprète ne dire que c'est la même version. Je pense que je n'ai qu'une version installée sur mon ordinateur.
Je pense essayer d'ajouter print dir(decimal) après import decimal et de vérifier quelles sont les fonctions sont exposés.
Elle fonctionne. @gnibbler: Oui, mon script sur un fichier nommé decimal.py et c'était le problème. Pour le fixer, j'ai fait un "enregistrer sous" à mon fichier et l'a nommé d'un nom différent, puis supprimé compilé "virgule" et "decimal.py". Merci pour l'aide de tous!

OriginalL'auteur jack | 2010-06-26