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__'
4 Réponses :
Essayez ceci update: strong>
Depuis que le vôtre est Aucun, un autre passe par une manière manuelle. Faire un SYS.PATH P> $ find /usr/lib/python2.6/lib-dynload -type f -iname "*itertools*"
/usr/lib/python2.6/lib-dynload/itertoolsmodule.so
Il revient (aucun, 'iTertools', ('', '', 6))
Python 2.5.2 (r252:60911, Oct 5 2008, 19:29:17) [GCC 4.3.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import itertools >>> itertools.__file__ '/usr/lib/python2.5/lib-dynload/itertools.so'
Merci, Pittrou, je pense que vous avez raison dans Python2.6, mais mon code d'exécution de code dans Python 2.5, il n'a pas d'attribut nommé ' fichier b>'
Quelle est votre construction python (version, système d'exploitation, origine)? Peut-être que le module a été compilé statiquement plutôt que de manière dynamique. Mais __ fichier __ code> fonctionne à Python 2.5, aussi: voir la réponse modifiée ci-dessus. En tout état de cause, la réponse que j'ai donnée ci-dessus a raison: le module est écrit en C et son code source est disponible dans l'arborescence de source Python officielle.
Salut Antoine P. Mon système est Windows_XP, le code que vous donnez une erreur d'exécution, je ne sais pas ce qui se passe.
Si vous recherchez le fichier source em> (en C, bien sûr), il est par exemple en ligne ICI . P>
Pour les utilisateurs de Windows (je cours Python 2.7.2, Win7x64, Win7x64, Package d'installation par défaut) L'appel à Ce n'est pas strictement une réponse en tant que telle, mais vous pouvez analyser quels points sur itertools sont intégrés à votre exécutable de Python. < / p> En outre, la réponse Imp.Find_Module fournit les mêmes informations: la touche de retour étrange est par spécification (voir: http://docs.python.org/2/library/imp.htm#imp.find_module ) et vous disant que le module est de type 6, qui est l'énumération pour __ Fichier __ CODE> Flamed Sortie @ ZJM1126, je suppose que le problème étant que < CODE> ITERTOOLS CODE> est une intégrée sur le package Windows. Si vous aviez choisi, dites,
exceptions code>? Vous obtiendrez le même comportement sur une autre plate-forme (par exemple, Python 2.6.1 sur mon MacBook) - Il se trouve que des fenêtres ont quelques cas de plus comme itoTools.
Sys.Modules Code> Ce qui vous donnerait un indice quant à l'endroit où il vient de: p>
imp.C_builtine code> p> p>