Python中文件的读写操作

一、文件操作

数据持久化 :数据从瞬时状态转换为持久状态。

open(参数1,参数2, 参数3…) - 打开文件,打开的是一个文件对象。

参数1:路径和文件名
参数2:文件打开的方式(读和写)
参数3:文件打开的编码形式:utf-8

参数1:路径和文件名

语法: . 表示当前文件夹(可以省略不写)… 表示返回上一级。
文件夹和文件夹之间以及文件夹和文件之间需要使用 / 间隔。

路径包括相对路径和绝对路径
相对路径:以当前所找参照物为基础,另一个文件相对于参照物的所在位置,应该使用/
绝对路径:以磁盘为参照物,使用\

例如:假设目前我处于文件夹B中,如果要找到文件A: …/文件夹A/文件A

参数2:r、a、w、+等

r: 只读,如果文件不存在,报错。
w: 只写,文件不存在,先自动创建;文件存在,先清空(如果某个文件夹不存在,不会创建文件夹)。
a: 只写,文件不存在报错;文件存在,追加。
+:可读可写,将r、a、w变为可读可写的符号:r+、a+、w+;Python操作文件要么读,要么写,不能同时读写。(不建议使用+)

r、w、a、+ ----> 文件编辑方式
t、b --> 文件展示形式
t:文本

b:字节
r、w、a等价于 rt、wt、at、tr、tw、ta —> t 默认的,可以不写。
rb、wb、ab、br、bw、ba 表示以字节形式操作文件

f1 = open('./test/管理员.jpeg', 'rb')
result = f1.read()
print(result, type(result))
b'......' --> 字节
参数3:encoding = ‘utf-8’
f = open(r'./test/文件1.txt', 'r', encoding='utf-8')
f = open(r'./01-homework.py', 'r', encoding='utf-8')

read()从文件对象中读信息

所有文件在内存中是以二进制形式保存的。

result = f.read()
print(result, type(result))

二、文件写操作

Python操作文件流程

  1. 新建xxx名字的文件
  2. 写入内容
  3. 保存关闭
  4. 写操作
f = open('./test/咏鹅.txt', 'w', encoding='utf-8')
str_1 = '\t咏  鹅\n\t骆宾王\n鹅鹅鹅,曲项向天歌。\n白毛浮露水,红掌拨清波。'
print(str_1)
f.write(str_1)
f.write('\n咏  鹅')
f.close()
# f.write('1')
# ValueError: I/O operation on closed file.
# I/O--Input/Out

三、文件读操作

read():一次性读所有内容,读出结果为字符串

f = open('./test/咏鹅.txt', 'r', encoding='utf-8')
print(f.read())

readline():一次读一行,读出结果为字符串

print(f.readline())

readlines():一次读全部内容,每一行内容作为列表中的一个元素

print(f.readlines())
f.close()

seek()
指针:文件操作时指针默认在文件开始位置,指针会随着文件操作不断变化。

四、图片读写操作

读取图片

f1 = open('./test/管理员.jpeg', 'rb')
result = f1.read()
print(result)
f1.close()

下载图片

f2 = open('./test/photo1.jpeg', 'wb')
f2.write(result)
f2.close()
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值