Linux 和 Windows 中用 Python 打开文件的区别

Linux 和 Windows 中用 Python 打开文件的区别

Python 在 Windows 中打开/关闭文件的方式与在 Linux 中打开/关闭文件的方式有何不同(如果有的话)?我理解在 Linux 中,内核充当软件与存储在硬件块设备中的数据之间的接口。Windows 主要做同样的事情吗?还是 Python 内部做了一些事情来确保信息被正确解释?

答案1

在 Windows 上,CreateFileAPI 调用用于打开或创建文件。这会返回一个文件句柄,类似于 Linux 上的文件描述符。从这个角度来看,它的工作原理大致相同。

另一方面,作为一名 Python 程序员,您必须意识到 Python 确实会做一些与低级实现无关的不同的事情。例如,在 Linux 上以二进制模式打开文件的方式与文本模式相同,但在 Windows 上,所有内容都需要 CRLF 行尾,如果您以文本模式打开文件,Python 会默默地将您的文件转换为\n\r\n如果您实际写入的是二进制数据,这显然是一件坏事。不过,这一切都有很好的文档记录,因此您不必担心内核级细节。

相关内容