• 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:光标从文件尾处开始算起

  • 相关阅读:
    Python笔记初识
    visio开发者图形分类个人爱好
    亿图图示与visio结合使用
    xmind visio mindmanager edraw比较
    Pycharm安装步骤
    win32com问题
    Win32.com安装
    Pycharm安装步骤
    Phython笔记初识
    跨域问题解决方案
  • 原文地址:https://www.cnblogs.com/richiewlq/p/7230870.html
Copyright © 2020-2023  润新知