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

    文件操作模式 

    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) #从头开始截断到光标位置,若给参数,则截断到参数位置
  • 相关阅读:
    【数据结构第二周】队列知识点整理
    【数据结构第二周】堆栈知识点整理
    【数据结构第二周】线性表知识点整理
    【数据结构第一周】最大子列和问题整理
    网络设置
    QT 安装教程
    C# 复制粘贴板 多行粘贴
    设置网络适配器IP优先级
    MySQL 查重复单号和删重复单号
    Mysql 10053 SocketException 你的主机中的软件中止了一个已建立的连接。
  • 原文地址:https://www.cnblogs.com/liaopeng123/p/9431313.html
Copyright © 2011-2022 走看看