python文件打开模式的合法组合,python文件操作

#内存中使用的编码是unicode,用空间换时间(程序都需要加载到内存才能运行,因而内存应该是尽可能的保证快)

字符编码

#硬盘中或者网络传输用utf-8,网络I/O延迟或磁盘I/O延迟要远大与utf-8的转换延迟,而且I/O应该是尽可能地节省带宽,保证数据传输的稳定性。

1.用什么编码存 encode,就要以什么编码取 decode

ps 内存固定使用unicode编码 我们可以控制的是往硬盘存储或基于网络传输

2.数据是最先产生于内存中,是unicode格式,要想传输需要转成bytes格式

python3解释器默认的字符编码是utf-8

python2解释器默认的字符编码是ASCII

#unicode ---->encode(utf-8) ---->bytes

bytes,就是可以往文件内存放火基于网络纯属

#bytes ----》decode(gbk)---->unicode

python3字符串被识别为unicode python3中字符串encode得到bytes

python2字符串被识别为bytes

python2在字符串前加u,就是unicode编码格式

知识点

对文件访问一般有三种模式:读模式(‘r‘)、写模式(‘w‘)或追加模式(‘a‘).另外两种可以混合使用的模式:二进制模式(‘b‘),读/写模式(‘+‘)。如:‘rb‘ 读取二进制文件模式 ‘r+‘ 可读可写模式

写文件的流程 1 可写方式打开文件  2 写文件操作  3 关闭文件

读文件流程 1 只读方式打开文件,2 读取文件 (使用readline方法读取文件的每一行。这个方法返回包括行末换行符的一个完整行。所以,当一个空的字符串被放回的时候,即表示文件末已经到达,浴室我们停止循环。) 3 关闭文件

file.readlines()和f.read()只适用读取较小的文件

二 操作

打开文件

open("ptahname", "model", "buffering"),后面的两个参数可选,不填model,默认以只读方式打开,buffering:0/false无缓冲  1/true 有缓冲

file("pathname", "model")  ps:python3不支持file函数

两者的区别是用open函数,文件必须存在,否则会报文件找不到的错误;用file函数,文件存在则打开,不存在就创建

补充:open函数model选择a模式 文件不存在,就会创建

常见的mode取值组合

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

2、rb      二进制文件

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

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

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

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

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

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

读写文件

f.read()读取所有内容;f.read(4) 读取前4个字符  f.write()  醉如文件 f.tell()返回读取文件内字符长度

移动光标

f.seek(offset,whence)

offset:将光标移动到offset定义的下标位置,在此处开始插入或读取文件  whence偏移量表示从什么位置开始算offset,默认为0----》 表示从文件头开始算起,1:表示相对于当前位置的移动, offset可以是负数  2:光标从文件尾处开始算起

原文:http://www.cnblogs.com/richiewlq/p/7230870.html

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值