où est le "itertools' fichier
import itertools
print itertools#ok
le code est ok
mais je ne trouve pas le itertools fichier.
qui peut me dire où est le "itertools fichier'
mon code est exécuté python2.5
import itertools
print itertools.__file__
Traceback (most recent call last):
File "D:\zjm_code\mysite\zjmbooks\a.py", line 5, in <module>
print itertools.__file__
AttributeError: 'module' object has no attribute '__file__'
OriginalL'auteur zjm1126 | 2010-01-06
Vous devez vous connecter pour publier un commentaire.
Le fait que le nom de fichier se termine avec
.so
signifie que c'est un module d'extension écrite en C (ce qui est plutôt normal qu'un module Python). Si vous voulez prendre un coup d'oeil au code source, de télécharger de la source Python et regarder dansModules/itertoolsmodule.c
(vous pouvez également le visualiser dans votre navigateur à http://svn.python.org/view/python/trunk/Modules/itertoolsmodule.c?view=log).Edit (comme une réponse à la remarque ci-dessous): il travaille également avec Python 2.5:
Qu'est-ce que votre Python version (version, OS, origine)? Peut-être que le module a été compilé en statique plutôt que dynamique. Mais
__file__
travaille dans Python 2.5, trop: voir édité réponse ci-dessus. Dans tous les cas, la réponse que j'ai donné ci-dessus est droite: le module est écrit en C et son code source est disponible dans l'officiel de Python arbre source.salut Antoine P. mon système est windows_xp, le code que vous me donner des erreurs de l'exécuter,je ne sais pas ce qu'il se passe.
OriginalL'auteur Antoine P.
Si vous êtes à la recherche pour le source fichier (en C, bien sûr), c'est par exemple en ligne ici.
OriginalL'auteur Alex Martelli
Pour les utilisateurs de windows (je suis sous Python 2.7.2, Win7x64, par défaut le package d'installation) l'appel à
__file__
va flamme comme @zjm1126 a noté, je soupçonne que le problème étant queitertools
est un builtin sur le paquet windows. Si vous aviez choisi le dire,exceptions
? Vous obtiendrez le même comportement sur une autre plate-forme (par exemple Python 2.6.1 sur mon macbook) - Windows arrive juste à avoir un peu plus de fonctions internes telles que itertools.Il n'est pas strictement une réponse en tant que telle, mais vous pouvez analyser
sys.modules
qui vous donnerait une idée d'où ça vient:qui points à itertools être intégré dans votre exécutable python.
Aussi, de l'imp.find_module réponse est de fournir la même information: l'étrange retour tuple est par spec (voir: http://docs.python.org/2/library/imp.html#imp.find_module) et de vous dire que le module est de type 6, qui est l'énumération de
imp.C_BUILTIN
OriginalL'auteur tanantish
essayer cette
mise à jour:
depuis le vôtre n'est, d'un autre passer par une méthode manuelle. Faire un sys.chemin
puis selon votre système, l'utilisation de votre système de recherche pour le trouver. sur mon système linux
OU, juste une recherche sur l'ensemble du système pour le fichier avec le nom "itertools".
OriginalL'auteur ghostdog74