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

一、简介

  • 举例,操作一个文本文件:

    # 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

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡尔特斯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值