Python文件及目录章节学习记录
Python文件及目录操作
要想长时间保存数据,将数据保存到文件是个好办法。
1.基本文件操作
(1)创建和打开文件
创建和打开文件,需要使用open()函数。函数中需要加入参数,确定操作模式。
参数 | 作用 | 补充 |
---|---|---|
r | 以只读打开文件,文件必须存在 | rb:以二进制格式打开 r+:可读可写 rb+:以二进制格式打开,可读可写 |
w | 以只写打开文件,文件存在,则覆盖文件;不存在,则创建新文件 | wb:以二进制格式打开,但只可写 w+:覆盖源文件 wb+:以二进制格式打开,可读可写 |
a | 以追加模式打开文件,文件存在,则在末尾写入;不存在,则创建新文件 | ab:以二进制格式打开,执行追加模式 a+:以读写模式打开 ab+:以二进制格式打开,执行追加模式,可读可写 |
因此,使用open()函数时,如果文件存在,则依据参数进行读写操作;如果文件不存在,使用r参数会报错,但使用w,a参数则会在当前目录下创建新文件。当以二进制格式打开文件时,默认采用GBK编码,如果要更改默认编码,即可以直接修改文件的编码,也可以通过在使用open()函数时,添加encoding参数,指定编码。 |
(2)关闭文件
关闭文件是文件操作一个重要的部分,可以避免对文件造成不必要的破坏。关闭文件使用close函数,语法格式如下:
\\file.close()
(3)使用with语言
为了避免在打开文件后,忘记关闭文件。Python中提供with语句,语法格式如下:
\\with open(expression) as file:
body
不得不说,Python简化的操作真是多。
(4)写入和读取文件内容
Python中可以通过函数write()向文件写入内容,read()读取文件内容,使用格式如下:
\\file.write(string) #写入字符串
file.read(size) #读取指定个数的字符
file.readline() #读取一行
file.readlines() #读取全部行
想了想,没怎么明白为什么不直接使用Word之类的软件进行修改文件。或许可以和爬虫之类的功能结合。
2.目录操作
Python中使用os和os.path模块对目录进行操作。具体信息太多,也就不列出来了(不是我记不住)。程序开发中分为相对路径和绝对路径。相对路径是依赖当前路径的,我的理解是在当前路径下运用函数只需要打出文件名而不包括文件的地址;绝对路径是指在使用文件时指定文件的实际路径。对于多个路径,可以向字符串一样使用join()函数拼接成一个新路径,Python中可以使用exists()函数判断目录是否存在。
(1)创建目录
创建目录有创建一级目录和创建多级目录方法。mkdir()函数用于创建一级目录,使用方法如下:
\\import os
os.mkdir("C:\\xxx")
makedirs()函数用于创建多级目录,使用方法如下:
\\os.makedirs("C:\\xxxx\\xxx\\xx\\x")
(2)删除目录
删除空目录,使用rmdir()函数;删除非空目录,使用shutil模块中的rmtree()函数。
3.高级文件操作
Python中的os模块包含了许多高级文件操作函数。我就记录下常用的高级操作吧
(1)删除文件
使用remove()函数,格式如下:
\\os.remove(path) #path即可为相对路径,也可为绝对路径
(2)重命名文件
使用rename()函数,格式如下:
\\os.rename('路径 + 旧文件名','路径 + 新文件名')
(3)获取文件基本信息
在计算机上创建、修改文件,是会被计算机记录下来的。os模块中的stat()函数,能获取文件的许多常用属性,如文件大小、创建时间、修改时间等,用法如下:
\\os.stat(path) #path可为相对路径、绝对路径