解释Python中的open()函数
1、这个带+号的有点难以理解,上代码感受下。一些人可能会有迷惑,既然带+号是可读可写,那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。
2、当我们用open()函数去打开文件的时候,有好几种打开的模式。
3、可以看到,上面这段代码,它不但可以写,还可以读出来。注意要先定位到开头,f.seek(0),不然读出来的是空数据。那就是,不要用二进制模式打开文本文件先看下面代码的“诡异”现象。假设在windows下,我有个f.txt文件,里面的内容是下面这样的。helloworld代码一
4、输出
5、代码二
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:20
阅读量:83
阅读量:86
阅读量:81
阅读量:35