您当前的位置:首页 > 计算机 > 编程开发 > Python

Python 文件操作(创建、读取、追加、图片视频读取)

时间:02-28来源:作者:点击数:

一、简介

  • 举例,操作一个文本文件:
    # 1、找到文件,双击打开
    # 2、读或者修改
    # 3、保存&关闭
    
    # 用 python 来操作如下:
    f = open(filename) # 打开文件
    f.write('dzm') # 写入
    f.read() # 读取
    f.close() # 保存并关闭
  • 不过有一点跟人为操作不同,打开文件操作时,人为的是可读可写。
    但是 python 有点傻,只能以 读、创建、追加 3 种模式中任意一种打开文件,不能既写又读,也就是读的模式打开只能读,写的模式打开只能写。
  • 文本模式打开文件
    • r:只读模式
    • w:创建模式,若文件已存在,则覆盖旧文件
    • a:追加模式,新数据会写到文件末尾
    # 文件模式 - 创建
    f = open('test.txt', 'w')
    f.write('dzm')
    f.close()
  • 2进制模式 打开文件
    • rb:只读模式
    • wb:创建模式,若文件已存在,则覆盖旧文件
    • ab:追加模式,新数据会写到文件末尾
    通过 2进制模式 读出来的数据就是 bytes 字节类型,到时候写进去的也得是 bytes 字节类型:
    # 2进制模式 - 创建
    f = open('test.txt', 'wb')
    f.write('xyq'.encode())
    f.close()

二、基本操作(创建、读取、追加)

# 创建模式
f = open('test.txt', 'w')
# 写入
f.write('a\n')
f.write('b\n')
f.write('c\n')
# 保存并关闭
f.close()
# 现在的 f 是创建模式,读取会报错
# f.read()

# 只读模式(默认模式)
f = open('test.txt', 'r')
# 读取全部内容
# print(f.read()) # a b c
# 读取一行内容
# print(f.readline()) # a
# 读取所有行内容(数组)
print(f.readlines()) # ['a\n', 'b\n', 'c\n']
# 现在的 f 是只读模式,写入会报错
# f.write('d\n')

# 只读模式(默认模式)
f = open('test.txt', 'r')
# 读取一行内容
print(f.readline()) # a
# 读取剩下的全部内容
print(f.read()) # b c
# 之所以会输出为这样,可以理解为读取内容的时候有个光标,读了第一行之后,光标到第二行了,在继续读只会从第二行开始。

# 只读模式(默认模式)文件编码格式指定
f = open('test.txt', 'r', encoding='gbk')
# 读取全部内容
print(f.read()) # 中国

# 追加模式
f = open('test.txt', 'a')
# 追加
f.write('d\n')
# 保存并关闭
f.close()
# 在追加模式下,也只能追加,不能读,不然也会报错。
image.png

三、图片、视频文件读取

  • 图片、视频文件只能通过 2进制模式 进行读取操作
    # 读取图片
    f = open('temp.png', 'rb')
    for line in f:
      print(line)
image.png
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门