我意识到我一直在使用的open()函数是io.open()的别名,从os导入*会使它黯然失色。
通过io模块和os模块打开文件有什么不同?
发布于 2011-08-28 15:10:38
io.open()是文件I/O的首选高级接口。它将操作系统级别的文件描述符包装在一个对象中,您可以使用该对象以Pythonic方式访问文件。
os.open()只是一个低级POSIX syscall的包装器。它采用较少的符号(和更多的POSIX-y)参数,并返回表示打开的文件的文件描述符(一个数字)。它不返回文件对象;返回值将没有read()或write()方法。
从os.open() documentation
file此函数用于低级I/O。正常使用时,请使用内置函数open(),该函数返回带有read()和write()方法(以及更多方法)的“
对象”。
发布于 2011-08-28 15:11:27
发布于 2011-08-28 15:10:56
os.open与open() from C in Unix非常相似。您不太可能想要使用它,除非您正在做一些更低级的事情。它为您提供了一个实际的文件描述符(例如,一个数字,而不是一个对象)。
io.open是您的基本Python open(),也是您想要一直使用的all。
https://stackoverflow.com/questions/7219511
复制相似问题