【问题标题】:Is 'file' a keyword in python?“文件”是python中的关键字吗?
【发布时间】:2014-09-16 12:27:14
【问题描述】:

file是python中的关键字吗?

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

【问题讨论】:

  • -1 在尝试学习该语言时,搜索该语言的关键字列表既是强制性的,也是自然的。
  • @Solkar 您指的是哪种语言? Python2 还是 Python3? OP的混乱是合理的,imo。

标签: python keyword


【解决方案1】:

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

>>> import keyword
>>> keyword.iskeyword('file')
False
>>> import __builtin__
>>> hasattr(__builtin__, 'file')
True

它可以被视为open() 的别名,但它已从 Python 3 中删除,因为新的 io framework 取代了它。从技术上讲,它是type of object returned by the open() function

【讨论】:

  • 那么不推荐使用file作为变量吗?
  • 啊,我看到你已经编辑了 fileopen 返回的对象类型,使我输入的评论变得毫无用处......你在看我的肩膀吗?
  • @mgilson:我无处不在,马特。
  • 如果我打算只支持 Python 3,可以使用file 作为变量名吗?
  • @GustavoBezerra 绝对!
【解决方案2】:

filePython 3 中既不是关键字也不是内置

>>> import keyword
>>> 'file' in keyword.kwlist
False
>>> import builtins
>>> 'file' in dir(builtins)
False

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

with open('spam.txt', 'w') as file:
    file.write('Spam and eggs!')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-10
    • 2019-08-22
    • 1970-01-01
    • 1970-01-01
    • 2010-10-08
    • 1970-01-01
    • 2014-05-23
    • 2014-04-15
    相关资源
    最近更新 更多