在简单的学习了pygame模块后,我想再复习一下之前学习的文件及目录操作
值 | 说明 | 注意事项 |
---|---|---|
r | 以只读模式打开文件,文件的指针会在文件的开头 | 文件必须存在 |
rb | 以二进制的格式打开文件,并且采用只读的模式,且文件的指针会放在文件的开头,一般是用于非文本文件,如照片,声音等 | 文件必须存在 |
r+ | 打开文件后,可以读取文件内容,也可以写入新的内容覆盖原有内容(从文件开头开始覆盖) | 文件必须存在 |
rb+ | 以二进制的格式打开文件,并且采用读写模式,文件的指针会放在文件的开头,一般用于非文本文件,如图片,声音等 | 文件必须存在 |
w | 以只写的模式打开文件 | 文件存在,则将其覆盖,否则,创建新的文件 |
wb | 以二进制的格式打开文件,并且采取只写的模式,一般用于非文本文件,如图片、声音等 | 文件存在,则将其覆盖,否则,创建新的文件 |
w+ | 打开文件后,先清空原有内容,使其变成一个空的文件,对这个空文件拥有读写权限 | 文件存在,则将其覆盖,否则,创建新的文件 |
wb+ | 以二进制格式打开文件,并且采用读写模式,一般用于非文本文件,如图片,声音等 | 文件存在,则将其覆盖,否则,创建新的文件 |
a | 以追加模式打开一个文件,如果该文件存在,文件指针放在文件的末尾(即新内容会被写到已有内容之后),否则,创建新文件,用于写入 | 无 |
ab | 以二进制格式打开文件,并且采用追加模式,如果该文件存在,文件指针将放在文件的末尾(即新内容会被写到已有的内容之后),否则创建新文件用于写入 | 无 |
a+ | 以读写模式打开文件,如果该文件已经存在,文件指针将放在文件的末尾(即新内容会被写入到已有内容之后),否则,创建新文件用于读写 | 无 |
ab+ | 以二进制的格式打开文件,并且采用追加模式,如果该文件已经存在,文件指针将放在文件末尾(即新内容会被写到已有内容之后),否则,创建新文件,用于读写 | 无 |
格式为:file=open(filename[,mode[,buffering]])
参数 | 说明 |
---|---|
file | 被创建的文件对象 |
filename | 要创建或打开的文件的文件名称,使用单引号或双引号括起来,如果需要打开的文件和当前文件在同一个目录下,直接写文件名即可,否则需要指定完整路径 |
mode | 可选,用于指定文件的打开模式,默认的打开模式为只读(r) |
buffering | 可选参数,用于指定读写文件的缓冲模式,值为0,表示不缓存,值为1表示缓存,如果大于1,则表示缓冲区的大小。默认为缓存模式 |
注意:打开一个不存在的文件时应该创建该文件
在使用read()方法读取文件时,如果文件很大,一次读取全部内容到内存,容易找错人了内存不足,因此,通常会采取逐行读取的方法读取文件。
可以使用readline()的方法用于每次读取一行的数据
语法格式如下
file.readline()
下面,逐行读取一个文件的内容
with open('readme.txt','r') as file:
number=0
while True:
number=number+1
line=file.readline()
if line=='':
break
print(number,line,end='')
二、目录操作
1.os模块
在python中,内置了os模块,以及其子模块os.path用于对目录或文件进行操作。
例如在Windows操作系统下输出os.name将会显示
(这个是用命令提示符输出的)
(输入方式:python -v “\n” import os “\n” os.name “\n”)
函数 | 说明 |
---|---|
getcwd() | 返回当前的工作目录 |
listdir(path) | 返回指定路径下的文件和目录信息 |
mkdir(path [,mode]) | 创建目录 |
makedirs(path1/path2…[,mode]) | 创建多级目录 |
rmdir(path) | 删除目录 |
removedirs(path1/path2…) | 删除多级目录 |
chdir(path) | 把path设置为当前工作目录 |
walk(top[,topdown[,onerror]]) | 遍历目录树,该方法返回一个元组,包括所有路径名,所有目录列表和文件列表3个元素 |
os.path也提供了其它的函数
函数 | 说明 |
---|---|
abspath(path) | 用于获取文件或目录的绝对路径 |
exists(path) | 用于判断目录或文件是否存在 |
join(path,name) | 将目录与目录或文件名 |
splitext() | 分离文件名和扩展名 |
basename(path) | 从一个目录中提取文件 |
dirname(path) | 从一个路径提取文件路径,不包括文件名 |
isdir(path) | 用于判断是否为有效路径 |