• python文件操作


    python文件操作

    基本语法
    f = open("文件路径",mode="模式",encoding="编码") 
    f.read()
    
    
    解析
    open()  调用操作系统打开文件
    mode    # 对文件的操作方式
    encoding # 文件的编码  -- 存储编码要统一
               # win -- gbk
               # linux -- utf-8
               # mac   -- utf-8  最常用的就是utf-8
    # f 文件句柄  -- 操作文件的相当于锅把
    
    文件操作怎么用?
    读 r
    写 w清空写 ,a追加写
    读 rb
    写 wb   ab
    

    文件的读r

    # f.read()    # 全部读取
    # f.read(3)        # 字符读取
    # readline(3)  # 读取一行内容中多个字符
    # f.readlines()) # 一行一行读取,存储到列表中   
    是换行
    with open('cs.txt',encoding='utf-8',mode='r') as f1:
        # print(f1.read())#全部读取 注意 一般不这么读 耗内存
        print(f1.read(1))# 字符读取 注意不是读取字节 符号也是一个字符
        # print(f1.readline())#读一行 注意会记录光标 
    是换行
    # with open('cs.txt', encoding='utf-8', mode='r') as f1:
        # for i in f:  # 迭代读取 一行一行读取 -- 防止内存溢出
        #     print(i)
    
    # 路径
    # F:a111.txt  绝对路径 从磁盘的根处查找
    # 相对路径      相对于当前文件进行查找的
    
    # repr() #函数将对象转化为供解释器读取的形式。
    dict = {'runoob': 'runoob.com', 'google': 'google.com'}
    print(repr(dict),type(repr(dict)))
    # import os
    # print(os.getcwd())  # 查看当前工作路径
    
    # 另一种打开文件的方式.
    # with open("day8",mode="r",encoding="utf-8") as f,
    #     open("a",mode="w",encoding="gbk") as f1:
    #     print(f.read())
    #     f1.write("真饿!")
    

    文件的写w,a

    # 写 w 清空写  a 追加写
    # f = open("cs.txt",mode="w",encoding="utf-8")
    # f.write("123")
    # f.close()  # 关闭文件
    
    # a 追加写 追加到末尾
    # with open('cs.txt',encoding='utf-8',mode='a') as f1:
    # #     f1.write('你最棒')
    

    文件读写非文本wb

    # rb ,wb,ab 不能指定编码
    # print(f.read())  # read()  全部读取
    
    # with open('cs.jpg',mode='rb') as f1:
    #     print(f1.read())
    #     print(f1.read(3))  # 读取的是字节
    
    import requests
    import os
    ret = requests.get("http://www.521609.com/uploads/allimg/151124/1-1511241G251317.png")
    a=os.path.dirname(os.path.dirname(__file__))
    b=os.path.join(a,'1.jpg')
    with open(b,mode='wb') as f1:
        f1.write(ret.content)
    

    文件操作+模式

    # r 读  r+ 读写  注意,要先读后写 如果写写在读 光标会在最后就读不出内容了
    # w 写  w+ 写读 真的废物
    # a 写  a+ 写读
    # r+
    #正确示范   -- 后期开发中使用频率比较低
    # f = open("day8",mode="r+",encoding="utf-8")
    # print(f.read())
    # f.write("脑瓜疼啊脑瓜疼")
    

    调整文件光标

    # 在a 模式 读完后关标在最后 所以我们要注意这些小问题
    # 查看光标: tell()  返回值 返回的就是当前光标的位置
    # 移动光标:
    #   seek(0,0) 文件开始位置
    #   seek(0,1) 光标的当前位置
    #   seek(0,2) 文件末尾位置
    #   seek(3)   按照字节调节  使用utf-8是3 gbk是2
    

    文件的修改

    原理就是边读边写
    # 不好用 好耗内存
    # with open("day8",mode="r+",encoding="utf-8")as f:
    #     content = f.read()
    #     content = content.replace("您","你")
    #     f.seek(0,0)
    #     f.write(content)
    
    # 利用for循环 边读边写 与os模块
    # with open("cs.txt",mode="r",encoding="utf-8")as f,
    # open("cs_bak.txt",mode="a",encoding="utf-8")as f1:
    #     for i in f:
    #         content = i.replace("你","我")
    #         f1.write(content)
    #
    # import os
    # os.remove("cs.txt")  # 原数据可以使用rename来做备份
    # os.rename("cs_bak.txt","cs.txt")
    
    
    yuan=r'C:Users86131Desktop程序员之路笔记系统测试学习测试方法.md'
    gai=r'C:Users86131Desktop程序员之路笔记系统测试学习测试方法.md.bak'
    with open(yuan,mode="r",encoding="utf-8")as f,
    open(gai,mode="a",encoding="utf-8")as f1:
        for i in f:
            content = i.replace("回到顶部","")
            f1.write(content)
    
    import os
    os.remove(yuan)  # 原数据可以使用rename来做备份
    os.rename(gai,yuan)
    
  • 相关阅读:
    JDK框架简析--java.lang包中的基础类库、基础数据类型
    Mahout 模糊kmeans
    使用heartbeat+monit实现主备双热备份系统
    Git版本号控制:Git分支处理
    JAVA线程
    Nginx的特性与核心类别及配置文件和模块详解
    nginx设置反向代理后端jenklins,页面上的js css文件无法加载
    运维的危险命令,用了必死(1)
    xtrabackup备份MySQL
    利用ansible-playbook从测试环境获取tomcat中java项目新版本发布到生产环境
  • 原文地址:https://www.cnblogs.com/saoqiang/p/12386114.html
Copyright © 2020-2023  润新知