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

    文件操作

    一.文件操作

    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())  # 文件已经关闭了
    
  • 相关阅读:
    CentOS7 64位下MySQL5.7安装与配置(YUM)
    在windows 7中vagrant up 无反应,没任何信息输出
    vagrant在windows下的安装和配置
    html中嵌入flvplayer.swf播放器,播放视频
    FileItem 出现部分中文乱码解决办法
    华为P6-C00电信版,刷机总是失败? FAIL
    MyEclipse发布按钮无效的办法
    Ubuntu 下建立WiFi热点的方法
    Android系统源码学习步骤
    android源代码在线阅读
  • 原文地址:https://www.cnblogs.com/tutougold/p/11197428.html
Copyright © 2011-2022 走看看