我看到人们偶尔会打开一个内置file
的文件处理程序;特别是在pyyaml documentation。
这让我感到困惑的是Python documentation州:
打开文件时,最好使用open()而不是直接调用此构造函数。 file更适合于类型测试(例如,写isinstance(f,file))。
所以这似乎意味着file
和open
做同样的事情,但file
是一种类型,而open
是一个函数:
>>> open
<built-in function open>
>>> file
<type 'file'>
他们都返回file
类型的对象:
>>> open('/dev/zero')
<open file '/dev/zero', mode 'r' at 0x7f9bb0b964b0>
>>> file('/dev/zero')
<open file '/dev/zero', mode 'r' at 0x7f9bb0b96540>
使用其中一种是否有区别?
使用file
vs open
打开文件是否有警告或优势?
答案 0 :(得分:0)
是的,他们做同样的事情。使用一个与另一个只是风格和可读性的问题;在行为方面没有其他警告或优点。