9
votes

Où est le fichier 'iTERTOOLS'

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__'

0 commentaires

4 Réponses :


1
votes

Essayez ceci xxx pré>

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


1 commentaires

Il revient (aucun, 'iTertools', ('', '', 6))



18
votes
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'

3 commentaires

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 '


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 __ 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.



4
votes

Si vous recherchez le fichier source (en C, bien sûr), il est par exemple en ligne ICI .


0 commentaires

2
votes

Pour les utilisateurs de Windows (je cours Python 2.7.2, Win7x64, Win7x64, Package d'installation par défaut) L'appel à __ Fichier __ Flamed Sortie @ ZJM1126, je suppose que le problème étant que < CODE> ITERTOOLS est une intégrée sur le package Windows. Si vous aviez choisi, dites, exceptions ? 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.

Ce n'est pas strictement une réponse en tant que telle, mais vous pouvez analyser Sys.Modules Ce qui vous donnerait un indice quant à l'endroit où il vient de: xxx

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 imp.C_builtine


0 commentaires