Warm tip: This article is reproduced from serverfault.com, please click

module-Python上的io.open()和os.open()有什么区别?

(module - What's the difference between io.open() and os.open() on Python?)

发布于 2011-08-28 07:03:07

我意识到open()我一直在使用功能是该功能的别名,io.open()*从中导入os将使功能黯然失色。

通过io模块和os模块打开文件有什么区别

Questioner
Gio Borje
Viewed
11
cdhowie 2011-08-28 15:10:37

io.open()是文件I / O的首选高级接口。它将OS级文件描述符包装在一个对象中,你可以使用该对象以Python方式访问文件。

os.open()只是较低级POSIX syscall的包装。它使用更少的符号(和更多POSIX-y)参数,并返回代表打开文件的文件描述符(一个数字)。它并没有返回一个文件对象; 返回的值将没有read()write()方法。

os.open()文档中

此功能适用于低级I / O。为了正常使用,请使用内置函数open(),该函数返回带有read()write()方法(还有更多)的“文件对象”