• 文件的相关操作


    文件操作模式 

    r w a , r+ w+ a+, rb wb ab,等

    1、文件操作函数open

      open(文件名(路径),mode=" ",encoding="  ")

    r 模式

    1 f = open("文件名.txt",mode="r",encoding="utf-8")
    2 s=f.read()
    3 f.close()
    4 print(s)

    当文件有多行内容时 可以借助循环读出

    1 f=open("文件名",mode="r",encoding="utf-8")
    2 for line in f:
    3     print(line.strip()) #一行一行的处理数据
    4 f.close()
    1 while True:
    2     s=f.readline().strip()# 一次读一行
    3     if s!=""
    4         print(s)

    w 模式

    如果写入的文件不存在,就会自动创建文件
    1 f=open("文件名.txt",mode="w",encoding="utf-8")
    2 f.write("写入的内容") #写入前程序会把文本中的内容全部清除,然后写入新的内容
    3 f.flush() #刷新当前内容
    4 f.close()

    a模式

    写的时候需要手动换行

    1 f=open("文件名",mode="a",encoding="utf-8")
    2 f.write("第一行")
    3 f.write("第二行")
    4 f.flush()
    5 f.close()

    rb、wb模式(rb,wb,ab 处理的是非文本文件,如视频、音乐、图片等)不需要加encoding

    1 f=open("c:/tupian.jpg",mode="rb")
    2 e=open("e:/tupian.jpg",mode="wb")
    3 for line in f:
    4     e.write()
    5 e.flush()
    6 f.close()
    7 e.close()

    r+(先读后写) w+(先写后读) 模式

    f=open("文件名",mode="r+",encoding="utf-8")
    s=f.read(3) # 读取三个字符
    print(s)
    f.write("写入的内容") # 写在文件的末尾

    w+模式(一般不用,因为写操作会清空掉文本以前的内容)

    1 f=open("文件名",mode="w+",encoding="utf-8")
    2 f.write("插入的内容")
    3 f.seek(0) # 写完后光标是在文本的末尾,读取不到任何内容
    4 s=f.read()
    5 print(s)
    6 f.flush()
    7 f.close()

    a+ 模式(默认是在文本的末尾插入新的内容,光标在末尾)

    1 f=open("文件名",mode="a+",encode="utf-8")
    2 f.write("插入的内容")# 在文本的末尾添加
    3 f.seek(0)
    4 s=f.read()
    5 print(s)
    6 f.flush
    7 f.close()

    2、文件的相关操作

    1 f=open("文件名",mode="r",encoding="utf-8")
    2 f.seek(3) #表示三个字节,光标移动到第二个字符()
    3 s=f.read(2)  #从光标当前位置开始读二个字符
    4 print(s)
    5 print(f.tell()) #显示光标当前位置
    6 f.close()

    3、偏移量

    1 seek(0) #表示文本的开头
    2 seek(0,2) #在末尾的偏移量是0 末尾

    4、截断truncate(参数)

    1 f.truncate(12) #从头开始截断到光标位置,若给参数,则截断到参数位置
  • 相关阅读:
    jQuery源码学习9——DOMReady加载
    jQuery源码学习8——工具方法之init
    jQuery源码学习7——实例成员
    jQuery源码学习6——工具方法之事件系统
    SQL中EXCEPT函数在 Mysql 和 sqlServer 中的替代方法
    关系型数据库及优势
    jsp小基础归纳
    eclipse换了高版本的maven插件后报错:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project
    开发常用网站收藏
    Struts2
  • 原文地址:https://www.cnblogs.com/liaopeng123/p/9431313.html
Copyright © 2020-2023  润新知