当你想批量处理文件的时候,使用 python 对文件或者文件夹进行操作,可以迅速地解决问题。
在 python 里面有几个内置模块可以对文件进行复制、移动、重命名及读写等操作。以下是对 os、shutil 模块里面的重要函数与方法进行的简单介绍。
一、os 模块
常用函数和方法:
函数或方法 | 说明 | 函数或方法 | 说明 |
---|---|---|---|
os.rename(old, new) | 重命名文件 | os.makedirs(dir) | 创建多级目录 |
os.remove(file) | 删除文件 | os.mkdir(dir) | 创建单级目录 |
os.listdir(path) | 列出所指目录下的所有文件 | os.rmdir(dir) | 删除空目录 |
os.path.split() | 分离路径与文件名 | os.path.splitext() | 分离文件与扩展名 |
os.path.basename() | 获取文件名 | os.path.exists() | 判断文件是否存在 |
os.path.isabs() | 判断是否是绝对路径 | os.path.isdir() | 判断是否为目录 |
os.path.isfile() | 判断是否为文件 | os.path.join() | 把路径与文件名结合 |
二、shutil 模块
常用函数和方法:
函数或方法 | 说明 | 函数或方法 | 说明 |
---|---|---|---|
shutil.copyfile(old, new) | 仅复制文件内容,不含属性 | shutil.copy(old, new) | 含有文件的权限属性 |
shutil.copy2(old, new) | 含所有的文件属性 | shutil.copytree(old, new) | 复制整个目录 |
shutil.rmtree() | 删除目录(包括内容) | shutil.move(old, new) | 移动目录或文件 |
三、文件读写
1.使用 open(file, 'mode')
来打开一个文件,若文件不存在,则创建这个文件。
第二个参数是文件的打开模式:
r:读方式
w:写方式
a:读写方式
r+:可读可写
w+:读写。若文件已存在则将其覆盖;若文件不存在,则创建这个文件。
a+:读写。若文件已存在,文件打开时会是追加模式,即光标将会放在文件的结尾;若文件不存在,则创建这个文件。
2.对文件进行读写操作
使用 write()、read()、readline()、readlines() 等可对文件进行读写,使用时格式如下
# 打开文件
f = open(file, 'a+')
# 把字符写进文件
f.wrire('str')
# 读取文件,可指定读取的长度
f.read()
# 读取一行内容,可指定 size 读取一行的某一部分
f.readline()
# 读取文件并返回一个列表,每一行是列表的一个元素
f.readlines()
# 关闭文件
f.close()
在文件中想进行换行可以使用换行符 /n