'file'是python中的关键字吗?

use*_*884 54 python keyword

filepython中的关键字?

我已经看到一些代码使用关键字file很好,而其他人建议不要使用它,我的编辑器将它作为关键字进行颜色编码.

Mar*_*ers 67

不,file是内置的,而不是关键字:

>>> import keyword
>>> keyword.iskeyword('file')
False
>>> import __builtin__
>>> hasattr(__builtin__, 'file')
True
Run Code Online (Sandbox Code Playgroud)

它可以被视为别名open(),但它已从Python 3中删除,因为新的io框架取代了它.从技术上讲,它是函数返回的对象类型open().

  • @mgilson:我到处都是阴影,马特. (14认同)
  • 那么不推荐使用file作为变量吗? (12认同)
  • 如果我打算只支持Python 3,那么可以使用`file`作为变量名吗? (5认同)
  • @GustavoBezerra绝对! (5认同)
  • 啊,我看到你编辑的那个`file`是`open`返回的对象的类型,呈现我输入的评论无用......你在看我的肩膀吗? (3认同)
  • @ user3388884:如果您还需要测试`file`类型,请不要. (2认同)

nor*_*ree 25

file既不是Python 3中的关键字也不是内置函数。

>>> import keyword
>>> 'file' in keyword.kwlist
False
>>> import builtins
>>> 'file' in dir(builtins)
False
Run Code Online (Sandbox Code Playgroud)

file也用作 Python 3 doc中的变量示例。

with open('spam.txt', 'w') as file:
    file.write('Spam and eggs!')
Run Code Online (Sandbox Code Playgroud)