Python里file()和open()有什么区别?
现在自己知道的区别有file()不能创建文件,open()可以。
还有其他区别吗?
2 回答
![?](http://img1.sycdn.imooc.com/545866130001bfcb02200220-100-100.jpg)
回首忆惘然
TA贡献1847条经验 获得超11个赞
Python 2 里基本没区别。Python 3 里没 file
。
Python 2 里,file
是文件对象。open
是返回新创建的文件对象的内建函数,相当于:
python
def open(*args, **kwargs): return file(*args, **kwargs)
它真实的定义是:
c
static PyObject * builtin_open(PyObject *self, PyObject *args, PyObject *kwds) { return PyObject_Call((PyObject*)&PyFile_Type, args, kwds); }
所以 file
也是能够创建文件的。
![?](http://img1.sycdn.imooc.com/545865b000016a9202200220-100-100.jpg)
jeck猫
TA贡献1909条经验 获得超7个赞
没有特别的区别吧, 查看他们的文档
>>> help(open)
open(...)
open(name[, mode[, buffering]]) -> file object
Open a file using the file() type, returns a file object. This is the
preferred way to open a file. See file.__doc__ for further information.
(END)
添加回答
举报
0/150
提交
取消