zoukankan      html  css  js  c++  java
  • 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)
      
      		
      
    希望你眼眸有星辰,心中有山海,从此以梦为马,不负韶华
  • 相关阅读:
    [转]对Lucene PhraseQuery的slop的理解
    Best jQuery Plugins of 2010
    15 jQuery Plugins To Create A User Friendly Tooltip
    Lucene:基于Java的全文检索引擎简介
    9 Powerful jQuery File Upload Plugins
    Coding Best Practices Using DateTime in the .NET Framework
    Best Image Croppers ready to use for web developers
    28 jQuery Zoom Plugins Creating Stunning Image Effect
    VS2005 + VSS2005 实现团队开发、源代码管理、版本控制(转)
    禁止状态栏显示超链
  • 原文地址:https://www.cnblogs.com/daviddd/p/12033476.html
Copyright © 2011-2022 走看看