文件,就是把一些数据存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力
目录
1.文件的打开和关闭
i.打开文件
在Python,使用open()函数,可以打开一个已经存在的文件或者创建一个新文件
语法格式:
open(文件名,访问模式)
什么是访问模式,其实就是对文件的权限,是否可读,是否可写,具体如下:
访问模式 | 说明 |
r | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式 |
w | 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件 |
a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入 |
rb | 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式 |
wb | 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件 |
ab | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入 |
r+ | 打开一个文件用于读写。文件指针将会放在文件的开头 |
w+ | 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件 |
a+ | 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写 |
rb+ | 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 |
wb+ | 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写 |
代码示例:
f = open("test.txt",'w') # 打开文件,没有则新建,w是代表可对文件写入内容
注意:文件默认会新建并保留在当前项目文件目录下。
ii.文件的关闭
在Python,使用close()函数,可以关闭一个已经打开的文件
代码示例:
# 新建一个文件,文件名为:test.txt
f = open('test.txt', 'w')
# 关闭这个文件
f.close()
2.文件的读写
i.写操作
在python中,使用write()可以完成向文件写入数据
代码示例:
f = open('test.txt', 'w')
f.write('hello world, i am here!')
f.close()
注意:如果文件不存在那么创建,如果存在那么就先清空,然后写入数据
ii.读操作
a.读数据(read)
在python中,使用read(number)函数以完成从文件中读取数据number表示要从文件中读取的数据的长度(单位是字节),如果没有传入number,那么就表示读取文件中所有的数据
代码示例:
f = open('test.txt', 'r')
content = f.read(5)
print(content)
print("-"*30)
content = f.read()
print(content)
f.close()
注意:
1.如果open是打开一个文件,那么可以不用写打开的模式,即只写 open(‘test.txt’),默认是只读
2.如果使用读了多次,那么后面读取的数据是从上次读完后的位置开始的
b.读数据(readline)
一次性读取一行数据
代码示例:
file = open("test.txt","r")
content = file.readline() # 对文件读取一行
print(content)
content = file.readline() # 对文件读取下一行
print(content)
file.close()
c.读取数据(readlines)
按照行的方式把整个文件中的内容进行一次性读取,并且返回一个列表,其中每一行的数据为一个元素
#coding=utf-8
f = open('test.txt', 'r')
content = f.readlines()
print(type(content))
i=1
for temp in content:
print("%d:%s"%(i, temp))
i+=1
f.close()
3.文件的相关操作
对于文件操作看不懂的,请先学习Linux基础知识,
i.文件重命名
os模块中的rename()可以完成对文件的重命名操作
rename(需要修改的文件名, 新的文件名)
代码示例:
import os
os.rename("test.txt","test01.txt")
注意:需要修改的文件名一定要存在,否则报错!
ii.删除文件
os模块中的remove()可以完成对文件的删除操作
remove(待删除的文件名)
代码示例:
import os
os.remove("test01.txt")
注意:需要删除的文件一定要存在,否则报错!
iii.创建文件夹
os模块中的mkdir()可以完成创建文件夹操作
mkdir(待创建的文件夹)
代码示例:
import os
os.mkdir('python')
注意:创建文件夹一定要保证之前不存在,否则报错!
iv.获取当前目录
os模块中的getcwd()可以查看文件所在的具体位置
getcwd()
代码示例:
import os
os.getcwd()
v.改变默认目录
os模块中的chair()可以改变当前的所在路径
代码示例:
import os
os.chair("../") # 返回上一级目录
vi.获取目录列表
os模块中的listdir()可以查看当前目录列表
代码示例:
import os
os.listdir("./") # 查看当前目录的所有文件
vII.删除文件夹
os模块中的rmdir()删除指定文件夹
代码示例:
import os
os.rmdir("python")
注意:需要删除的文件夹一定要存在,否则报错!