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

    #1.基本文件操作:a.打开 b.操作 c.关闭

    ## open(文件名,模式,编码) 默认是只读模式r,w 只写,a 追加
    ## 文件是以二进制方式存在于磁盘中


    # 只读 r (py3中自动将字节码转换为字符串)
    file = open('log.txt','r',encoding="utf-8")

    data = file.read()

    file.close()

    print(data)


    #只写(不存在则自动创建,有则将内容全部清空后再写入)

    file = open('log.txt','w')

    file.write("hello,world")

    file.close()


    #追加

    file = open('log.txt','a')

    file.write(" hao")

    file.close()

    #2.以字节的方式


    #只读 rb(以二进制方式打开,py不会自动编码)

    f = open('log.txt','rb')

    data = f.read()

    f.close()

    print(type(data),data)

    # 只写 wb

    f = open('log.txt','wb') #以字节类型打开了文件

    f.write(bytes("中国",encoding="utf-8")) # 必须添加编码方式将字符串转换为字节

    f.close()


    #3.多重模式 r+(读写) w+(写读) a+ 带+的时候都加上encoding

    # r+ 指针在最开始
    f = open('log.txt','r+',encoding="utf-8"')

    f.write("山东")
    f.seek(0)
    data = f.read()

    print(data)


    #w+ 先清空 之后写的才能读 指针在开始

    f = open("log.txt",'w+',encoding="utf-8")

    f.write("小荷才露尖尖角")

    f.seek(0)#调整指针位置

    data = f.read()

    f.close()

    print(data)


    #a+ 追加 打开文件时指针在最后

    f = open("log.txt",'a+',encoding='utf-8')

    print(f.tell())#获取指针位置

    #4.操作方法

    # 刷新缓冲区 写入磁盘 flush()

    f1 = open("log.txt",'r+',encoding="utf-8")

    f1.write("wowowow")

    f1.flush() #将 wowowow写入文件

    i = input(">>>>>")


    # 仅读取一行数据 readline() 很好用
    # 还有一种更好的读取方式
    for line in f1:
    print(line)


    # 截取 truncate() 指针在哪 就截取从开始到指针位置


    # 读取文件可以用以下方式:1.自动关闭 2.可同时打开两个文件

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

    f.read()


    with open('log.txt','r') as f1, open("log2.txt",'w') as f2:
    for line in f1:
    f2.write(line)

  • 相关阅读:
    你敢说自己了解单例模式?
    关于线程池,那些你还不知道的事
    Dubbo透传traceId/logid的一种思路
    当BeanUtils遇到泛型
    Oval框架如何校验枚举类型的一种思路
    HttpClient(4.5.x)正确的使用姿势
    HttpClient官方sample代码的深入分析(连接池)
    Jaxb如何优雅的处理CData
    JAXB性能优化
    Jaxb对xml报文头的小修小改
  • 原文地址:https://www.cnblogs.com/wuxinyan/p/8721576.html
Copyright © 2011-2022 走看看