擅长:python、mysql、java
<p>对于windows用户(我正在运行Python 2.7.2,Win7x64,默认安装程序包),对<code>__file__</code>的调用将像@zjm1126所指出的那样突然停止,我怀疑问题在于<code>itertools</code>是windows包上的内置项。如果你选择说,<code>exceptions</code>?你在另一个平台上也会有同样的行为(比如我的macbook上的Python2.6.1)——Windows只是碰巧还有一些像itertools这样的内置程序。</p>
<p>严格来说,这并不是一个答案,但是你可以解析<code>sys.modules</code>,这会给你一个提示,告诉你它是从哪里来的:</p>
<pre><code>>>> import sys
>>> sys.modules['itertools']
<module 'itertools' (built-in)>
</code></pre>
<p>它指向内置到python可执行文件中的itertools。</p>
<p>此外,imp.find_模块响应提供了相同的信息:奇怪的返回元组是按规范(请参见:<a href="http://docs.python.org/2/library/imp.html#imp.find_module" rel="nofollow">http://docs.python.org/2/library/imp.html#imp.find_module</a>)返回的,并告诉您该模块属于类型6,这是<code>imp.C_BUILTIN</code>的枚举</p>