解释Python中的open()函数
来源:网络收集 点击: 时间:2024-01-21这个带+号的有点难以理解,上代码感受下。一些人可能会有迷惑,既然带+号是可读可写,那w+跟r+有什么不同。w+会清空,会创建 (文件已存在则清空,不存在则创建。)r+不清空,不创建首先,先理解换行符\n跟回车符\r的概念。这就是为什么windows下的txt在linux打开的时候行尾会有^M。在python中,可以通过os.linesep获得当前系统的换行标识。比如在windows下,os.linesep是\r\n。在python中操作换行标识的时候,并不用管是在什么平台下,直接用\n就行了,python会自动根据不同系统转成不同标识。代码一中,用文本模式打开的文件,换行标识会被python处理成\n,而用二进制模式打开则原封不动。代码二中,用二进制模式打开,用文本模式写入。二进制打开原封不动还是\r\n,而文本模式写入的时候因为python会把\n转成\r\n,所以其实就等于是写入了\r\r\n,于是就多了个^M。

当我们用open()函数去打开文件的时候,有好几种打开的模式。


可以看到,上面这段代码,它不但可以写,还可以读出来。注意要先定位到开头,f.seek(0),不然读出来的是空数据。那就是,不要用二进制模式打开文本文件先看下面代码的“诡异”现象。假设在windows下,我有个f.txt文件,里面的内容是下面这样的。helloworld代码一

输出

代码二

版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.ff371.cn/art_1767.html