一、文件操作

作用

将数据持久化

将数据从瞬时状态转换为持久状态

(一)打开文件

open(参数1,参数2,参数3…)

打开文件,打开的是一个文件对象

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

(1) 参数1

表示:路径和文件名

语法: .\ 表示当前文件夹(可以省略不写); …\ 表示返回上一级

文件夹和文件夹之间以及文件夹和文件之间需要使用 \ 间隔

路径有相对路径和绝对路径之分

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

绝对路径:以磁盘为参照物,使用 \

(2)参数2

表示:文件打开的方式 (读和写)

参数:r、a、w、+等

r:只读,如果文件不存在,报错

w:只写,文件不存在,先自动创建;文件存在,先清空(如果某个文件夹不存在,不会创建文件夹)

a:只写,文件不存在报错;文件存在,追加(在文件最后写新的内容)

+:可读可写,将r、a、w变为可读可写的符号:r+、a+、w+

r、w、a、+ —> 文字编辑方式

r、w、a 等价于rt、wt、at(tr、tw、ta) —> t默认的,可以不写

t、b —>文件展示方式,t:文本,b:字节 (显示为:b’…')

rb、wb、ab(br、bw、ba)表示以字节形式操作文件

python操作文件要么读、要么写,不能同时读写

(3)参数3

表示:文件打开的编码形式: utf-8

示例:

f = open('./test/文件1.txt', 'r', encoding='utf-8')
(4)read()

从文件对象中读信息

示例:

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

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

二、文件写操作

(一)python操作文件流程
  1. 新建xxx名字的文件

  2. 写入内容

  3. 保存关闭

(二)写操作

我们先打开一个文本:

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.

三、文件读操作

假设打开一个文本:

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

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

print(f.read())

显示结果为:
	咏 鹅
	骆宾王
鹅鹅鹅,曲项向天歌
白毛浮绿水,红掌拨清波
咏 鹅

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

print(f.readline())

显示结果为:
	咏 鹅

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

print(f.readlines())

显示结果为:
['\t咏 鹅\n', '\t骆宾王\n', '鹅鹅鹅,曲项向天歌\n', '白毛浮绿水,红掌拨清波\n', '咏 鹅']

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

seek()

四、图片读写操作

使用一个中间变量

(一)读取图片
f1 = open('./test/Moon.jpeg', 'rb')
result = f1.read()
print(result)
f1.close()
(二)下载图片
f2 = open('test/photo1.jpeg', 'wb')
f2.write(result)
f2.close()
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐