• 文件操作


    文件操作

    一.文件操作

    1.文件操作:

    • open() #打开
    • file #文件的位置(路径)
    • mode #操作文件的模式
    • encoding #文件编码方式
    • f #文件句柄
    f = open("密码",mode = "r",encoding = "utf-8")
    print(f.read())
    f.close()
    

    2.操作文件:

    • 打开文件
    • 操作文件
    • 关闭文件

    3.文件操作的模式:

    • r,w,a(重要)
    • rb,wb,ab (次要)
    • r+,w+,a+(没啥用)
    f(文件句柄) = open("文件的路径(文件放的位置)",mode ="操作文件的模式",encoding = "文件的编码方式")    #内置函数
    
    

    二.r,w,a

    1.r操作:

    f = open("密码",mode = "r",enconding = "utf-8")
    print(f.read())    #全部读取
    print(f.read(5))   #按照字符进行读取
    
    print(f.readline())    #读取一行内容,自动换行
    print(f.readline().strip())  #读取一行内容并去除换行符
    
    print(f.readlines())       #一行一行的读取,存放在列表中
    
    解决大文件
    for i in f:
        print(i)          #本质就是一行一行进行读取
     
    
    

    2.w操作

    w操作分为两步:
        1.先清空文件
        2.写入文件
    f = open("密码","w",encoding = "utf-8")
    f.write("123456789
    ")
    f.write("123456789
    ")
    
    
    
    路径:
    1.绝对路径     --C:usermeetpython24密码
    2.相对路径     --   ../ 返回上一层
    绝对路径:从根目录下开始一直到文件名。
    相对路径:同一个文件夹下面的文件,直接写文件名就可以。
    
    绝对路径打开文件
    f =open("C:usermeetpython24密码","r",encoding = "utf-8")
    print(f.read())
    
    相对路径打开文件:
    f = open("../python24/密码,"r",encoding = "utf-8")
    print(f.read())
    
             
    f = open(r"C:user
    ets24密码","r",encoding = "utf-8")
    路径转义:
             1."\"
             2.r"C:user
    et
    
    ###推荐使用相对路径###
    
    s = "[1,'2',3,4]"
    print(s)
    print(repr(s))        #repr  --显示数据原生态
            
             
    

    3.a操作

    a操作:追加写
       在源文件的基础上进行添加
    
    f = open("../day03/密码","a",encoding = "utf-8")
    f.write("123456789
    ")
    f.write("123456789
    ")
    

    三.rb,wb,ab操作

    1.rb操作:

    f1 = open("1.jpg","rb")
    
    print(f1.read())     #全部读取
    print(f1.read(3))    #按照字节读取
    在读取非文本文件的时候,比如要读取mp3,图像,视频等信息的时候就需要用到rb,因为这种数据是没办法直接显示出来的,这个字节的模式是用于传输和存储.
    

    2.wb操作

    f = open("3.jpg","wb")
    f.write(f1.read())
    

    3.ab操作

    f = open("2.jpg","ab")
    f.write("你好".encode("utf-8"))
    
    f = open("2.jpg","rb")
    print(f.read())
    

    四.r+,w+,a+操作

    1.r+操作:

    r+   :  读写,先读后写
    
    正确的操作:
    f = open("密码","r+",encoding = "utf-8")
    print(f.read())
    f.write("你好阿")
    
    错误的操作:
    f = open("密码","r+",encoding = "utf-8")
    f.write("你好阿")
    print(f.read())
    
    

    2.w+操作

    w+    :  清空写,读
    f = open("密码","w+",encoding = "utf-8")
    f.write("你好阿")
    print(f.read())
    
    

    3.a+操作

    a+    :  追加写,读
    f = open("密码","a+",encoding = "utf-8")
    f.write("你好阿")
    print(f.read())
    
    
    
    
    

    4.其他操作

    tell() 查看光标 --返回的是字节数

    seek() 移动光标

    • seek(0,0) --移动到文件的头部
    • seek(0,1) --当前位置
    • seek(0,2) --移动到文件的末尾
    • seek(3) --按照字节进行移动(按照编码集,自己进行计算)
    f = open("密码","r",encoding = "gbk")
    print(f.read(3))       #字符
    
    f = open("密码","rb")
    print(f.read(3))       #字节
    
    f = open("密码","r",encoding = "gbk")
    print(f.read(3))       #字符
    
    错误操作
    f = open("密码","r",encoding = "gbk")
    f.seek(-1)
    print(f.read())
    
    
    

    文件修改

    f = open("密码","r",encoding="gbk")
    s = f.read()
    s1 = s.replace("你太美","吃煎饼")
    f1 = open("密码","w",encoding="gbk")
    f1.write(s1)
    

    with

    with 关键字 open("密码",”r“,encoding = “gbk”) as f:
        文件操作的具体内容
    
    #w,a 检测有文件就操作,没文件就创建
        
        
    with open("密码","r",encoding="gbk")as f,
             open("密码.txt","w",encoding="gbk")as f1:
        for i in f:
            s1 = i.replace("大烧饼","井盖")
            f1.write(s1)
    
     import os
     os.rename("密码","密码.bak")
     os.rename("密码.txt","密码")
    
     with open("密码","r",encoding="gbk")as f:
         pass # 缩进操作文件
     print(f.read())  # 文件已经关闭了
    
  • 相关阅读:
    python json 和 pickle的补充 hashlib configparser logging
    go 流程语句 if goto for swich
    go array slice map make new操作
    go 基础
    块级元素 行内元素 空元素
    咽炎就医用药(慢性肥厚性咽炎)
    春季感冒是风寒还是风热(转的文章)
    秋季感冒 咳嗽 怎么选药
    解决IE浏览器“无法显示此网页”的问题
    常用的 css 样式 记录
  • 原文地址:https://www.cnblogs.com/tutougold/p/11197428.html
Copyright © 2020-2023  润新知