• python基础之文件操作


    文件操作

    1,文件操作

    open()

    • 打开文件
    • open('a.txt','r',encoding='utf-8'),默认代开模式为"r"

    file

    • 文件路径

    mode

    • 操作文件的模式

    encoding

    • 文件的编码集
    • Windows的编码方式为gbk
    • Linux的编码方式为utf-8
    • 文件用什么编码,用什么方法打开

    close()

    • 关闭文件
    • f.close()

    f

    • 文件句柄

    • f = open('a.txt','r',encoding='utf-8')

    • 1,由应用程序向操作系统发起open()命令
      2,操作系统打开文件,并返回一个文件句柄给应用程序
      3,应用程序将句柄赋值给变量f
      

    r操作

    • 只读模式:【默认模式,文件必须存在,不存在则抛出异常】
    • f.read()
      • 全部读取,光标移动到文件末尾
    • f.read('int')
      • 看文件的操作方式,读取(int)个字符
    • f.readline()
      • 读取一行内容,光标移动到第二行首部
    • f.readlines()
      • 读取每一行内容,存放于列表中

    读取大文件

    • for in in f.read()

    w操作

    • 只写模式:【不可读;不存在则创建;存在则清空内容】
    • 先清空文件
    • 再写入文件

    路径

    • 绝对路径
    • 相对路径
    • ../返回上一层
    • 推荐使用相对路径
    • 路径转义
    • "//"
    • "r"

    a操作

    • 之追加写模式:【不可读;不存在则创建;存在则只追加内容】
    • 追加写
    • 在原文将的基础上进行添加

    2,mode

    • rb,wb,ab

    • 打开方式,不能encoding字符集

    • 读取的内容是字节类型,写入时也需提供字节类型,不能指定编码

    • 对于非文本文件,我们只能使用b模式,"b"表示以字节的方式操作(而所有文件也都是以字节的形式存储的,使用这种模式无需考虑文本文件的字符编码、图片文件的jgp格式、视频文件的avi格式)

      • rb:读字节

      • f = open('文件路径',mode = 'rb')
        msg = f.read()
        print(msg)
        f.close
        
      • wb:写字节

      • 打开文件的时候才清空文件

      • ab:追加字节

    • r+ 表示可以同时读写某个文件

      • r+:读写

      • f = open('文件路径',mode = 'r+',encoding = 'utf-8')
        msg = f.read()
        f.write()
        f.flush()
        f.close()
        print(msg)
        
      • w+:写读(移动光标)

      • a+:追加写,读(移动光标)

    3,其他操作

    • tell
      • 定位光标的位置,返回的是字节数
    • seek
      • 移动光标
      • seek(0,0) :光标移动到起始位置
      • seek(0,1):当前位置
      • seek(0,2):移动到文件的末尾
      • seek(0,3):光标移动3个字节

    4,修改文件

    • 1,打开文件读取所有内容

    • 2,创建一个新的文件

    • 3,将旧文件的内容进行操作后写入新文件

    • 将旧文件的名字改成是备份的,新文件 的名字改成是旧文件的名字

    • with open

    • with open('文件路径','r',encoding='utf-8')

      • 可以自动关闭文件
      • 可以同时操作多个文件
      • (面向对象——上下文管理)
    • with open('文件路径',mode= 'r',encoding = "utf-8") as f1,
      	open('文件路径',mode = "w",encoding = "utf-8") as f2:
          msg = f1.read()
          new_msg = msg.replace('内容','新内容')
          f2.write(new.msg)
          os.remove('文件路径')  删除源文件
          os.rename('文件路径',’新文件名‘)  重命名新文件
      
    • import os
      with open('文件路径',mode = 'r',encoding = 'utf-8') as f1,
      open ('文件路径',mode = 'w',encoding = 'utf-8') as f2:
      	for line in f1:
      		new_line = line.replace('内容','新内容')
      		f2.write(new.line)
      
      		
      
    希望你眼眸有星辰,心中有山海,从此以梦为马,不负韶华
  • 相关阅读:
    屏蔽鼠标右键/F1帮助
    vs2010如何连接到mysql数据库
    经典的数据库设计贴吧
    js子窗口刷新父窗口
    数据库三大范式
    写给毕业生
    SQL Server权限数据库设计
    .NET
    ASP.NET MVC框架(第一部分) 【转】
    什么是SQL注入法攻击 .
  • 原文地址:https://www.cnblogs.com/daviddd/p/12033476.html
Copyright © 2020-2023  润新知