可能重复:
Python - 何时使用文件与打开
从官方python文档中,
http://docs.python.org/library/functions.html#file
打开文件时,最好使用 open() 而不是直接调用此构造函数
但它没有给出理由。
可能重复:
Python - 何时使用文件与打开
从官方python文档中,
http://docs.python.org/library/functions.html#file
打开文件时,最好使用 open() 而不是直接调用此构造函数
但它没有给出理由。
应该有一种——最好只有一种——明显的方法来做到这一点。
所以要么要么file
应该open
去。
>>> type(file)
<type 'type'>
>>> type(open)
<type 'builtin_function_or_method'>
open
是一个可以返回任何东西的函数。file()
只返回file
对象。
虽然它似乎open
只返回file
Python 2 上的对象。而在 Python 2.5 之前file
,open
它们是同一个对象。
正如@gnibbler 在评论中所建议的那样,存在的最初原因file
可能是将其用作基类的名称。
此外,file()
原则上可以返回其他类型,例如int()
在早期 Python 版本中所做的:
>>> type(int(2**64)) is long
True
>>> type(int()) is int
True
>>> int is long
False
这个答案与@Ryan 的答案非常相似。
另外BDFL说:
“文件类是 Python 2.2 中新增的。它表示内置 open() 函数返回的对象的类型(类)。它的构造函数是 open() 的别名,但为了将来和向后兼容,open()仍然是首选。” (强调我的)