zoukankan      html  css  js  c++  java
  • Python-j简单文件操作

    1. 读取文件

    1.1  'r'模式

    以只读方式打开文件,文件的指针将会放在文件的开头。是文件操作最常用的模式,也是默认模式,如果一个文件不设置mode,那么默认使用r模式操作文件。
    创建一个文件,里边随便输入几个字母或数字并记录文件位置(想对文件进行操作,必须先知道文件的位置)
    f = open('xxx.txt',mode='r',encoding='utf-8')   # 获取文件句柄
    re = f.read()   # 读取文件
    print(re)
    f.close()   # 关闭文件句柄
    # 结果:
    #  nihao
    #  nihao
    #  nihao

    read()将文件中的内容全部读取出

    弊端: 如果文件很大就会非常的占用内存,容易导致内存奔溃

    1.1.2 read(n)  

      read()读取的时候指定读取到什么位置,在r模式下,n按照字符进行读取

    f = open('xxx.txt',mode='r',encoding='utf-8')   # 获取文件句柄
    re = f.read(9)   # 读取文件
    print(re)
    f.close()   # 关闭文件句柄
    # 结果:
    # nihao
    # nih

    1.2 readLine()

      readLine()读取的每次只读取一行,读取出来的数据在后边会有一个

    f = open('xxx.txt',mode='r',encoding='utf-8')   # 获取文件句柄
    re = f.readline()   # 读取文件
    print(re)
    re = f.readline()   # 读取文件
    print(re)
    f.close()   # 关闭文件句柄
    # 结果:
    # nihao
    # 
    # nihao

    1.3 readLines() 

      readlines() 返回一个列表,列表里面每个元素是原文件的每一行,如果文件很大,占内存,容易崩盘。

    f = open('xxx.txt',mode='r',encoding='utf-8')   # 获取文件句柄
    re = f.readlines()   # 读取文件
    print(re)
    f.close()   # 关闭文件句柄
    # 结果:
    # ['nihao
    ', 'nihao
    ', 'nihao']

    rb模式

      rb模式:以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。记住下面讲的也是一样,带b的都是以二进制的格式操作文件,他们主要是操作非文字文件:图片,音频,视频等,并且如果你要是带有b的模式操作文件,那么不用声明编码方式。

    rb模式也有read read(n) readline(),readlines() for循环这几种方法,跟上边差不多

    f1 = open('海贼王1.jpg',mode='rb')     # 使用相对定位对照片进行操作
    content = f1.read()
    print(content)      # b'xffxd8xffxe0x00x10JFIF...
    f1.close()

    2. 写文件

    2.1 'w'模式

      如果文件不存在,利用w模式操作文件,那么它会先创建文件,然后写入内容,如果文件存在,利用w模式操作文件,先清空原文件内容,在写入新内容。

     

    2.2 'wb'模式

      以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如:图片,音频,视频等。

    f1 = open('海贼王1.jpg',mode='rb')     # 使用相对定位对照片进行操作
    f2 = open('海贼王5.jpg',mode='wb')
    content = f1.read()
    f2.write(content)       # 如若没有该照片,则创建一个并复制
    f1.close()
    f2.close()
  • 相关阅读:
    Java:day11
    Java:day10
    Java:day9
    Java:day8
    纯虚函数和抽象类
    C++的虚拟继承
    派生类构造函数、析构函数的定义和调用次序
    c++的继承方式——公有、保护、私有
    操作系统中系统调用的执行过程
    C++的类
  • 原文地址:https://www.cnblogs.com/mamouren/p/13347428.html
Copyright © 2011-2022 走看看