欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

6.1Python文件的操作(一)

程序员文章站 2022-05-15 22:29:21
目录 [TOC] 前言 要处理数据,就要操作文件,今天我们来学习一下最基本的python操作文件的方式。 (一)基础类型 | r | 只读 | | | | | w | 只写 | | a | 追加 | ==1.只读== (1)说明 打开文件时,不写读写模式,只读时默认值。文件的指针会放在开头,也就是从 ......

目录

目录

前言

要处理数据,就要操作文件,今天我们来学习一下最基本的python操作文件的方式。

(一)基础类型

r 只读
w 只写
a 追加

==1.只读==

(1)说明

打开文件时,不写读写模式,只读时默认值。文件的指针会放在开头,也就是从头读起,

当文件不存在时,会报错。

若操作写操作,会报错。

(2)源代码

# 1.打开文件
f = open("a.txt", "r")

# 2.读写操作
content = f.read()
print(content)

# 3.关闭文件
f.close()

(3)输出效果

a.txt文件只写有:123def

6.1Python文件的操作(一)

==2.只写==

(1)说明

以只写的方式打开文件,清空之前的内容,指针再开头处。

若文件不存在,则会创建一个新的文件。

若操作读操作会报错。

(2)源代码

# 1.打开文件
f = open("b.txt", "w")

# 2.读写操作
f.write("abcdefg")

# 3.关闭文件
f.close()

(3)输出效果

6.1Python文件的操作(一)

==3.追加==

(1)说明

与只写的方式一样,唯一的取别在于,再进行写操作的时候,指针是在结尾处,在后面追加内容。

(2)源代码

# 1.打开文件
f = open("c.txt", "a")

# 2.读写操作
f.write("456")

# 3.关闭文件
f.close()

(3)输出效果

原本从 c.txt 只有abcdefg 的内容。

6.1Python文件的操作(一)

(二)b二进制组合

操作二进制文件,例如图片,视频,音频等

rb 只读二进制文件
wb 只写二进制文件
ab 追加二进制文件

==1.读写二进制文件==

(1)说明

我们把一张图片的一半二进制数据写入另一张图片会怎么样?

请看下面操作

(2)源代码

# 1.得到数据源
# 1.1 打开文件
from_file = open("from.png", "rb")

# 1.2 读取文件
from_content = from_file.read()

# 1.3 关闭文件
from_file.close()


# 2.写入到新的文件
# 2.1打开文件
to_file = open("to.png", "wb")

# 2.2 写入文件
to_content = from_content[0:len(from_content)//2]
to_file.write(to_content)

# 2.3关闭文件
to_file.close()

(3)输出效果

1)原图片

6.1Python文件的操作(一)

2)截取后的图片

6.1Python文件的操作(一)

(三)+ 附加组合

在之前单一功能的基础上,添加另一个功能。例如写可以添加读,读可以添加写。

r+ 读附加
w+ 写附加
a+ 追加附加
rb+ 读二进制附加
wb+ 写二进制附加
ab+ 追加二进制附加

==1.读附加==

(1)说明

与只读的功能差不多,不过添加了写的功能,这个写的功能与只写的功能有区别。

这个写只根据指针的位置来写,即使指针在开头,也只是部分的覆盖。

(2)源代码

# 1.打开文件
f = open("a.txt", "r+")

# 2.读写操作
# 2.1读
content = f.read()
print(content)

# 2.2写
f.write("123")

# 3.关闭文件
f.close()

(3)输出效果

1)输出效果

6.1Python文件的操作(一)

2)追加后的文件

6.1Python文件的操作(一)

==2.写附加==

(1)说明

写附加,是添加了读的功能,不过没有指定位置时u,读出来的都是空的。

(2)源代码

# 1.打开文件
f = open("d.txt", "w+")

# 2.读写操作
# 2.1读
content = f.read()
print(content)

# 2.2写
f.write("123456")

# 2.3再读
content = f.read()
print(content)

# 3.关闭文件
f.close()

(3)输出效果

6.1Python文件的操作(一)

==3.追加附加==

(1)说明

其附加也是添加了读的功能,不过,在没有指定位置的时候,读出来的都是空的。

(2)源代码

# 1.打开文件
f = open("e.txt", "a+")

# 2.读写操作
# 2.1读
content = f.read()
print(content)

# 2.2写
f.write("abc")

# 2.3再读
content = f.read()
print(content)

# 3.关闭文件
f.close()

(3)输出效果

e.txt 追加前是:123456

e.txt 追加后是: 123456abc

6.1Python文件的操作(一)

作者:mark

日期:2019/02/07 周四