• 文件处理


    文件处理
    r+w:可读可写
    with open('a.txt',mode='rt',encoding='utf-8')as f:
        data=f.read()
    print(data) 
    with open('a.txt',mode='rb')as f:
        data=f.read()
    print(data.decode('utf-8'))

    w+t:可写可读
    with open('a.txt','w+t',encoding='utf-8')
    print(f.readable)
    print(f.writeable)

    a+t:可追写可读


    控制文件指针移动
    f=open('c.txt',mode='r',encoding='utf-8')
        f.seek(offest,whence)
    offest代表文件的指针偏移量,单位是bytes
    whence代表参考物有三个取值
    0:参照文件的开头(t和b都可以用)
    1:参照当前文件指针所在的位置(只能在b模式下使用)
    2:参照文件末尾(倒着移动  (只能在b模式下使用)

    快速移动到文件末尾
    f.seek(0,2)

    只有在t模式下的read(n),n代表的是字符个数,除此之外其他的但凡涉及到文件指针的移动都是字节为单位

    f=open('c.txt',mode ='rt',encoding ='utf-8')
    f.close()

    f=open('b.txt',mode='r+b')
    f.truncate(3)  参照物的开头永远是文件开头
    ab、a+b、r+b


    文件的修改

    with open('c.txt','r+t',encoding='utf-8')as f:

    f.seek(21,0)
    f.write('我接你')


    修改文件内容的方式之一
    思路:先将原文件内容一次性全部读入内存,然后在内存修改完毕后,在覆盖会原文件
    with open(’d.txt',‘rt',encounding='utf-8')as f:

    修改文件的内容方式之二
    思路
    1以读的方式打开原文件,以写的方式打开一个新文件
    2从原文件循环读取每一行内容修改后写写入新文件
    3删除原文件,将新文件重新命名为原文件的名字

    优点同一时刻只有一行内容,存在于内存中
    缺点在修改期间,文件内容始终存在

  • 相关阅读:
    echarts-detail---饼图
    echarts-detail--柱状图
    mvc5 错误页如何定义
    MyEclipse编码设置
    java EE 5 Libraries 删掉后怎么重新导入
    Server Library [Apache Tomcat v6.0](unbound)服务未绑定解决办法
    免安装jdk 和 免安装tomcat
    group_concat
    java cookie
    java 分割split
  • 原文地址:https://www.cnblogs.com/zhangrenguo/p/9141123.html
Copyright © 2020-2023  润新知