一、open()的函数原型open(file, mode=‘r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True)

从官方文档中我们可以看到open函数有很多的参数,我们常用的是file,mode和encoding,对于其它的几个参数,平时不常用,也简单介绍一下。

buffering的可取值有0,1, >1三个,0代表buffer关闭(只适用于二进制模式),1代表line buffer(只适用于文本模式),>1表示初始化的buffer大小;

encoding表示的是返回的数据采用何种编码,一般采用utf8或者gbk;

errors的取值一般有strict,ignore,当取strict的时候,字符编码出现问题的时候,会报错,当取ignore的时候,编码出现问题,程序会忽略而过,继续执行下面的程序。

newline可以取的值有None, \n, \r, '', ‘\r\n' ,用于区分换行符,但是这个参数只对文本模式有效;

closefd的取值,是与传入的文件参数有关,默认情况下为True,传入的file参数为文件的文件名,取值为False的时候,file只能是文件描述符,什么是文件描述符,就是一个非负整数,在Unix内核的系统中,打开一个文件,便会返回一个文件描述符。

二、file() 与open()

两者都能够打开文件,对文件进行操作,也具有相似的用法和参数,但是,在我看来,这两种文件打开方式有本质的区别,file为文件类,用file()来打开文件,相当于这是在构造文件类,而用open()打开文件,是用python的内建函数来操作。

三、参数Mode的基本取值

r、w、a为打开文件的基本模式,对应着只读、只写、追加模式;

b、t、+、U这四个字符,与以上的文件打开模式组合使用,二进制模式,文本模式,读写模式、通用换行符,根据实际情况组合使用、

四、 常见的mode取值组合

1、r或rt 默认模式,文本模式读

2、rb 二进制文件

3、w或wt 文本模式写,打开前文件存储被清空

4、wb 二进制写,文件存储同样被清空

5、a 追加模式,只能写在文件末尾

6、a+ 可读写模式,写只能写在文件末尾

7、w+ 可读写,与a+的区别是要清空文件内容

8、r+ 可读写,与a+的区别是可以写到文件任何位置

五、几个模式的区别为了测试不同模式的区别,我们用一小段代码来测试写入文件中的直观不同。

1

2

3

4

5

6

7

test= ["test1\n","test2\n","test3\n" ]

f= open("b.txt","a+")

try:

for sin test:

f.write( s )

finally:

f.close()

(1)a+与w+模式的区别

(2)a+与r+模式

在写入文件前,我们在上面那段代码中加上一句 seek(6),用来定位写入文件写入位置。

注意:r+模式打开文件时,此文件必须存在,否则就会报错,‘r'模式也如此

六、换行符带来的烦恼当你用二进制模式将带有换行符的字符串写入txt文件时,数据存储是正确的,但是当用windows平台的记事本程序打开时,你看到的换行符确实一个个的小黑块,但是,用文本模式,就不存在这样的问题。

在这里,涉及到了不同平台由于编码的问题,而对换行符有不同的识别。unix或者linux系统识别\n为换行符的标识,但是windows平台的编码,对\n不予理睬。

但是python自身带有转化功能,用文本模式的时候,你不会看到由于平台不同而造成的换行效果不同,但是,二进制模式的时候,python便不会再去转化,是什么,就写进去什么,此时的换行符,再用文本模式打开,windows下就不识别‘\n'换行符了。

python open函数encoding_python中open函数的使用相关推荐

  1. python调用js库中的函数_Python 调用JS文件中的函数

    Python 调用JS文件中的函数 1.安装PyExecJS第三方库 2.导入库:import execjs 3.调用JS文件中的方法 Passwd = execjs.compile(open(r&q ...

  2. Python如何在main中调用函数内的函数

    Python如何在main中调用函数内的函数 一般在Python中在函数中定义的函数是不能直接调用的,但是如果要用的话怎么办呢? 一般情况下: def a():#第一层函数def b():#第二层函数 ...

  3. html中text函数,Excel中text函数的使用方法

    说到Excel,相信大家都再熟悉不过了,但说到Excel中text函数的使用方法,可能很多人都不太熟悉,下面随学习啦小编一起看看吧. Excel中text函数的使用方法 首先解释一下text函数的基本 ...

  4. linux 内核 fget,fgets函数 linux中fgets函数怎么用

    一个函数该如何使用?我们最先要了解的就是这个函数的语法以及具体的含义是什么,所以今天我们就来看一看fgets函数在实际的运用过程当中是如何使用的,希望能给大家带来一定的帮助. fgets函数--lin ...

  5. mysql中sign函数_Oracle中sign函数和decode函数的使用

    在逻辑编程中,经常用到If ndash; Then ndash;Else 进行逻辑判断.在DECODE的语法中,实际上就是这样的逻辑处理过程.它的语法 1.比较大小函数SIGN sign(x)或者Si ...

  6. python local函数_python中的函数

    函数 一.函数的定义 def是可执行的代码.def创建了一个对象并将其赋值给某一变量名.def语句是实时执行的,即:def在运行时才进行评估,而在def之中的代码在函数调用后才会评估.函数本身就是一个 ...

  7. python round函数_python中round函数如何使用

    round函数很简单,对浮点数进行近似取值,保留几位小数.比如 >>> round(10.0/3, 2) 3.33 >>> round(20/7) 3 第一个参数是 ...

  8. python remove函数_python中remove函数的用法是什么?

    python中remove函数的用法是什么? python中remove函数的用法: 描述 remove() 函数用于移除列表中某个值的第一个匹配项. 语法 remove()方法语法: list.re ...

  9. python函数count_python中count函数知识点浅析

    python中,count函数的作用是进行python中的数量计算.count函数用于统计字符串.列表或元祖中某个字符出现的次数,是一个很好用的统计函数.具体介绍请看本文. 1.count函数 统计列 ...

  10. python反余弦函数_Python代码中acos()函数有什么功能呢?

    摘要: 下文讲述Python代码中acos()函数的简介说明,如下所示: acos()函数功能 用于计算出x的反余弦弧度值 acos()函数语法 math.acos(x) ---------参数说明- ...

最新文章

  1. android4.3 Bluetooth(le)分析之startLeScan分析
  2. IBASE component valid to field
  3. XKC's basketball team(2019徐州站网络赛E线段树)
  4. .NET Exceptionless 日志收集框架本地环境搭建
  5. ads design environment_ADS应用技巧3 — 画一个巴伦有多少种方法?
  6. linux禁用防火墙配置,CentOS Linux防火墙配置及关闭
  7. 【python】Python简介及优缺点
  8. cocos+kbe问题记录
  9. Chart.js报告
  10. PostgreSQL安装及关联ArcMap
  11. 如何重装win10应用商店?
  12. cmdn发布博客(markdowm)
  13. 利用PS制作GIF动图
  14. 服务器分类方式和类型
  15. VS Code报错:Java 11 or more recent is required to run. Please download and install a recent JDK
  16. word-wrap和word-break
  17. windows环境中java jdk环境配置
  18. matlab中marker太密,Matlab画图时Marker过多的解决方法.pdf
  19. 云聚创新力量 领航数字未来 峯云5G·联通沃云峰会2019成功举行
  20. 对数函数泰勒级数展开式

热门文章

  1. visio2007安装教程_电脑安装Visio 2007的详细方法
  2. SEO已死,真的吗,十年SEO从业者的思考
  3. JAVA8免费下载安装(win10)
  4. 开源的仿真软件HOPSAN
  5. Windows环境下hadoop安装和配置详细步骤
  6. webserver接口调用(一)
  7. 学习了Python大数据之后,将来主要做什么
  8. 2022Android SDK下载与安装
  9. mysql日期范围比较函数_mysql 日期比较函数
  10. 全球系留无人机系统行业调研及趋势分析报告