zoukankan      html  css  js  c++  java
  • python之文件操作read

    #open函数,该函数用于文件处理,文件操作一共就有三种方法,打开文件
    #关闭文件,


    #先来说下打开文件,打开文件的模式有下面几种
    # 1、r,只读模式
    f = open('test.log','r',encoding='utf-8')
    print(f.readable())
    True

    # 2、w、只写模式【不可读,不存在则创建,存在则删除文件中的内容】
    f = open('test.log','w',encoding='utf-8')
    print(f.readable())

    False

    # 3、a、追加模式【不可读,不存在则创建,存在则只追加内容】
    f = open('test.log','a',encoding='utf-8')
    print(f.readable())

    False

    #
    # +表示可以同时学习某个文件
    # r+ 可读写文件【可读、可写、可追加】

    # w+ 写读
    f = open('test.log','w+',encoding='utf-8')
    print(f.readable())
    True

    # a+ 没什么卵用


    # U表示在读取时,可以将 自动转换成
    # rU
    # r+U


    # f = open('test.log','w',encoding='utf-8')
    # f.write('中daddfdeeee')
    # f.close()

    f = open('test.log','r',encoding='utf-8')
    ret = f.read(2)
    print(ret)


    #中d,这里的2是读取2个字符

    #readable是否可读

    #readline,读取一行



    #seek和tell,读

    f = open('test.log','r',encoding='utf-8')
    print(f.tell())
    f.read(2)
    print(f.tell())
    f.close()

    # 0
    # 4

    #tell的意思是查看当前指针当前的字节的位置,第一条tell命令,因为还没有开始读,所以
    #值为0,然后读了2个字符,其中一个是中文,中文为3个字节,然后在加一个英文
    #为4个字节,所以tell命令输出的值为4


    #seek用来指定当前指针的位置,也是字节,指定从第四个字节开始读,读两个字节的数据

    f = open('test.log','r',encoding='utf-8')
    f.seek(4)
    ret = f.read(2)
    print(ret)
    f.close()
    # ad



    #truncate,seek指定当前的指针为4,那么truncate就会保留该指定前面的数据
    #删除该指针后面的数据然后保存到源文件中

    f = open('test.log','r+',encoding='utf-8')
    f.seek(4)
    f.truncate()




    #追击内容,要切记追加默认是没有换行符的,加了 就会换行
    f.close()
    f = open('test.log','a',encoding='utf-8')
    f.write('aaaaaaaaaaaaaaa')
    f.close()
    f = open('test.log','a',encoding='utf-8')
    f.write(' bbbbbbbbbbbbbbb')
    f.close()

    #每次只读取一行
    f = open('test.log','r',encoding='utf-8')
    ret = f.readline()
    print(ret)
    ret = f.readline()
    print(ret)
  • 相关阅读:
    redis-client和redis-template存储的key的格式不一样
    dubbo+zookeeper基础
    java面试题1
    Spring线程池(异步、同步)
    Java并发多线程
    Java并发-并发工具类JUC
    Java并发面试题
    ActiveMQ
    一键部署springboot到Docker
    Quartz任务调度学习
  • 原文地址:https://www.cnblogs.com/bainianminguo/p/6545860.html
Copyright © 2011-2022 走看看