操作环境win10+py3,不同环境可能会有些许差异。
一共涉及到三个模块:os、shutil、glob
- os.chdir(‘dir’)——切换路径
- os.getcwd()——获取当前脚本的目录路径
- os.listdir()——返回指定目录下所有文件和目录名
- glob.glob()——类似于os.listdir,可以支持模糊查询。比如返回桌面文件夹下py文件列表:glob.glob(‘d:/桌面*.py’)
- os.remove()——删除一个文件
- os.removedirs(‘d:/python’)——删除多个空目录
- shutil.rmtree(‘dir’)——可以删除有内容的目录
- os.path.isfile(‘filepath’)——检查给出的路径是否是一个文件
- os.path.isdir(‘filepath’)——检查给出的路径是否是一个目录
- os.path.isabs()——判断给出的路径是否是绝对路径
- os.path.abspath()——返回绝对路径
os.chdir("d:/桌面")
os.path.abspath("text.xlsm")
#out:'d:\\桌面\\text.xlsm'
- os.path.exists()——判断路径是否存在
'''如果不存在pythoon文件夹,则创建python文件夹'''
if not os.path.exists('d:/桌面/python'):
os.mkdir('d:/桌面/python')
- os.path.basename()——返回文件名
os.path.basename("d:/桌面/身高信息.txt")
#out:'身高信息.txt'
- os.path.dirname()——与basename相对的,返回文件路径。
os.path.dirname("d:/桌面/身高信息.txt")
#out:'d:/桌面
- os.path.islink(path)——判断路径是否为链接
- os.path.split()——分离一个路径的目录和文件名,返回元组。
os.path.split('d:/桌面/身高信息.txt')
#out:('d:/桌面', '身高信息.txt')
- os.path.splitext()——分离扩展名
- os.path.join(path1[, path2[, …]])——路径拼接
- os.path.splitdrive()——返回驱动器名和路径组成的元组
- os.path.samefile(path1,path2)——判断目录或文件是否相同
- os.path.realpath(path) ——返回path的真实路径
- os.path.relpath(path[, start]) ——从start开始计算相对路径
os.path.relpath('d:/桌面/身高信息.txt','桌面')
#out:'..\\身高信息.txt'
- os.path.normpath(path)——规范path的字符串形式
os.path.normpath('d:/桌面/身高信息.txt')
#out:'d:\\桌面\\身高信息.txt'
- os.getenv()——读取环境变量
- os.putenv——设置环境变量
- os.linesep——给出当前平台使用的行终止符。windows使用’\r\n’,Linux使用’\n’,max使用’\r’。
- os.rename(old,new)——文件或目录重命名
- os.makedirs(‘d:/桌面/python’)——创建多级目录
- os.mkdir(‘python’)——创建单个目录
- os.stat(file)——获取文件属性
- os.chmod(file)——修改文件权限与实践戳
- os.path.getsize(filename)——获取文件大小
- shutil.copytree(‘oledir’,‘newdir’)——复制目录,newdir目录不存在
- shutil.copyfile(‘oldfile’,‘newfile’)——复制文件,oldfile只能似乎文件。newfile可以是目录
- shutil.move(‘oldpos’,‘newpos’)——移动文件(目录)
- os.exit()——终止当前进程
- os.path.getatime(file)——返回文件最近访问时间
- os.path.getctime(file)——返回文件创建时间
- os.path.getmtime(file)——返回文件最近修改时间
- os.walk——类似os.listdir,不过walk方法可以遍历目录下的子目录及文件,生成迭代器,遍历很方便的一个方法。
os.walk(top[, topdown=True[, οnerrοr=None[, followlinks=False]]])
- top – 是你所要遍历的目录的地址, 返回的是一个三元组(root,dirs,files)。
- root 所指的是当前正在遍历的这个文件夹的本身的地址
- dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)
- files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)
- topdown --可选,为 True,则优先遍历 top 目录,否则优先遍历 top 的子目录(默认为开启)。如果 topdown 参数为 True,walk 会遍历top文件夹,与top 文件夹中每一个子目录。
- onerror – 可选,需要一个 callable 对象,当 walk 需要异常时,会调用。
- followlinks – 可选,如果为 True,则会遍历目录下的快捷方式(linux 下是软连接 symbolic link )实际所指的目录(默认关闭),如果为 False,则优先遍历 top 的子目录。
import os
for root,dirs,files in os.walk('d:/桌面'):
print(root,dirs,files)