Python–文件操作
文件操作
文件操作包括:打开、关闭、读、写、复制
文件操作的作用:把一些内容(数据)存储起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力
文件的基本操作
文件操作步骤
1.打开文件
2.读写等操作
3.关闭文件
注意:可以只打开和关闭文件,不进行任何读写操作
打开
在Python中,使用open函数,可以打开一个已经存在的文件,或者创建一个文件,语法如下:
变量(文件对象) = open(name,mode)
name:是要打开的目标文件名的字符串(可以包含文件具体路径)
mode:设置打开文件的模式(访问模式):只读、写入、追加等
打开文件模式
**注意:**带b的都是二进制访问,带+的表示可读可写
文件指针相当于光标,文件指针的位置决定了文件的读、写的位置,文件指针后边是可读、可写的
type | info |
---|---|
r(常用) | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。(打开的文件不存在则报错) |
w(常用) | 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
a(常用) | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
rb | 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 |
wb | 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
ab | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
r+ | 打开一个文件用于读写。文件指针将会放在文件的开头。 |
w+ | 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。(原文件如果有内容会被空覆盖,然后读取) |
a+ | 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。(原文件有内容,但是读取不到,因为读取的是文件指针之后的信息) |
rb+ | 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 |
wb+ | 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 |
快速体验
f = open("test.txt","w") #文件打开
**注意:**此时的f为open的文件对象
写
语法
文件对象.write("内容")
举例
# 文件写入打开
f = open("2.txt","w") # w 不支持读
# 写入内容
f.write("hello")
# 关闭文件
f.close()
f1 = open("2.txt","r")
print(f1.read())
# 输出结果:
hello
注意:
- w和a模式:如果文件不存在,则创建文件,如果文件存在,w默认先清空再写入,a默认直接尾部追加
- r模式:如果文件不存在,则报错
读
w模式和a模式不支持读操作,w+默认和a+模式支持读操作
-
read()
文件内容如果换行,底层有个\n,会有字节的占位,导致read函数读取出来的信息个数,和我们看到的信息个数不一致
文件对象.read(num)
num表示要从文件中读取数据的长度(单位是字节),如果没有传入num,那么就表示文件中所有的数据,读到哪里,文件指针会放在哪里,再执行读的命令,会顺着向后读
f = open("1.txt","r")
print(f.read(10))
f.close(