import itertools
print itertools#ok
код в порядке
но я не могу найти itertools файл.
кто может сказать мне, где 'itertools файл'
мой код выполняется 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__'
>>> import itertools
>>> itertools.__file__
'/usr/lib64/python2.6/lib-dynload/itertools.so'
Тот факт, что имя файла заканчивается на .так что
означает, что это модуль расширения, написанный на C (а не обычный Python-модуль). Если вы хотите взглянуть на исходный код, скачайте исходный код Python и посмотрите на Modules/itertoolsmodule.c
(вы также можете посмотреть его в вашем браузере по адресу http://svn.python.org/view/python/trunk/Modules/itertoolsmodule.c?view=log).
Редактирование (в качестве ответа на комментарий ниже): также работает с Python 2.5:
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'
Если вы ищете файл источника (на языке С, конечно), то это, например, онлайн здесь .
.try this
>>> import imp
>>> imp.find_module("itertools")
update: раз уж твой - Никто, пройди другой ручной путь. Сделайте sys.path
>>> import sys
>>> sys.path
['', '/usr/lib/python2.6/lib-dynload' ]
, а затем, в зависимости от вашей системы, используйте средства поиска вашей системы, чтобы найти его. на моей linux системе
$ find /usr/lib/python2.6/lib-dynload -type f -iname "*itertools*"
/usr/lib/python2.6/lib-dynload/itertoolsmodule.so
ИЛИ, просто найдите во всей системе файл с именем "itertools".