Python中open()函数指定文件打开方式的使用方法

  介绍

这篇文章给大家分享的是有关Python中打开()函数指定文件打开方式的使用方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

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

& # 39;" # 39;→只读   & # 39;w # 39;→只写,文件已存在则清空,不存在则创建。   & # 39;一个# 39;→追加,写到文件末尾   & # 39;b # 39;→二进制模式,比如打开图像,音频,词文件。   & # 39;+ & # 39;→更新(可读可写)

这个带& # 39;+ & # 39;号的有点难以理解,上代码感受下。

with 开放(& # 39;foo.txt& # 39;,, & # 39; w + & # 39;), as  f:,   ,,,f.write(& # 39;酒吧\ n # 39;),   ,,,f.seek (0),,   ,,,data =, f.read ()

可以看的到,上面这段代码,它不但可以写,还可以读出来。注意要先定位到开的头,f.seek(0),不然读出来的是空数据。

一些人可能会有迷惑,既然带& # 39;+ & # 39;号是可读可写,那& # 39;w + & # 39;跟& # 39;r + & # 39;有什么不同。

那就是,

& # 39; w + & # 39;会清空,会创建(文件已存在则清空,不存在则创建)。

& # 39; r + & # 39;不清空,不创建

不要用二进制模式打开文本文件

先看下面代码的“诡”异现象。

假设在windows下,我有个f。txt文件,里面的内容是下面这样的。

你好世界

<强>代码一

with 开放(& # 39;f.txt& # 39;,, & # 39; " # 39;), as  f:,   ,,,print  f.readlines (),   with 开放(& # 39;f.txt& # 39;,, & # 39; rb # 39;), as  f:,   ,,,print  f.readlines ()

输出

[& # 39;你好\ n # 39;,, & # 39;世界\ n # 39;】   [& # 39;你好\ r \ n # 39;,, & # 39;世界\ r \ n # 39;]

<强>代码二

with 开放(& # 39;f.txt& # 39;,, & # 39; rb # 39;), as  f:,   ,,,data =, f.read (),   with 开放(& # 39;f.txt& # 39;,, & # 39; w # 39;), as  f:,   ,,,f.write(数据)

<>强打开文件,变成了下面这样,

你好^ ^ M

世界M

首先,先理解换行符& # 39;\ n # 39;跟回车符& # 39;\ " # 39;的概念。

& # 39;\ n # 39;换行符(低频,Line-Feed ),指新的一行。   & # 39;\ " # 39;回车符(CR、回车),指回到行头。

因为在不同系统下的换行标识是不一样的。

窗口→& # 39;\ r \ n # 39;   unix→& # 39; \ n # 39;   mac→& # 39; \ " # 39;

这就是为什么windows下的txt在linux打开的时候行尾会有& # 39;猴^ # 39;。

这就是为什么我在linux下跑脚本导出游戏数据下到本地窗户打开变成了一行。

其实文本文件也是二进制文件,是文本编码的二进制文件,文本文件对一些不可见字符进行了处理,增加可读性。

在python中,可以通过os.linesep获得当前系统的换行标识。比如在windows下,os.linesep是& # 39;\ r \ n # 39;。

在python中操作换行标识的时候,并不用管是在什么平台下,直接用& # 39;\ n # 39;就行了,python会自动根据不同系统转成不同标识。

有了上面这些理论依据,就可以解析本文开头代码的“诡”异现象了。

代码一中,用文本模式打开的文件,换行标识会被python处理成& # 39;\ n # 39;,而用二进制模式打开则原封不动。

代码二中,用二进制模式打开,用文本模式写入。二进制打开原封不动还是& # 39;\ r \ n # 39;,而文本模式写入的时候因为python会把& # 39;\ n # 39;转成& # 39;\ r \ n # 39;,所以其实就等于是写入了& # 39;\ \ r \ n # 39;,于是就多了个& # 39;猴^ # 39;。

感谢各位的阅读!关于python中打开()函数指定文件打开方式的使用方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

Python中open()函数指定文件打开方式的使用方法