os就是“operatingsystem”的缩写,python中的os模块提供了对目录或者文件的新建/删除/查看等属性,还提供了对文件以及目录的路径操作,比如创建、删除目录等。
关于OS模块的目录操作,可以看一下这篇文章:
Python目录操作总结
下面是os模块常用方法思维导图
shutil模块shutil模块属于高级文件操作模块,可以做os模块的补充,主要可以实现文件的复制和解压缩操作等等。
常用函数1.复制文件shutil.copy(要复制的文件,需要复制的文件位置)
copy2()复制文件,会保留原有文件的信息(操作时间和权限等)
#将文件text01.txt复制到文件夹Bimportshutilfile01=/Users/tongtony/测试案例/文件夹A/text01.txtdirb=/Users/tongtony/测试案例/文件夹Bshutil.copy(file01,dirb)
copyfile()复制文件内容,打开文件复制内容,在新建文件复制到新的文件中。
importshutilfile01=/Users/tongtony/测试案例/文件夹A/text01.txtfile02=/Users/tongtony/测试案例/文件夹B/text02.txtshutil.copyfile(file01,file02)2.复制文件夹
copytree拷贝整个文件夹,返回目标地址路径。
shutil.copytree(要复制的文件夹,要复制的新的文件夹位置)
dir01=/Users/tongtony/测试案例/文件夹Adir03=/Users/tongtony/测试案例/文件夹Dshutil.copytree(dir01,dir03)3.删除文件夹
shutil.rmtree(dir03)4.移动文件/文件夹
shutil.move(要移动的文件/文件夹,要粘贴到的文件位置)
file01=/Users/tongtony/测试案例/文件夹C/text01.txtdir04=/Users/tongtony/测试案例/文件夹Dshutil.move(file01,dir04)5.压缩文件
#shutil.make_archive(base_name,format,root_dir=None,...)#打包或压缩文件,并且返回操作后的文件路径~#参数说明:#base_name:压缩包的文件名(abc.tar.gz,则base_name为abc),也可以是绝对路径;若是文件名,则压缩后的文件默认存放于当前目录,若是绝对路径,则压缩有的文件就保存到指定路径~#format:指定压缩或打包的类型,"zip","tar","bztar","gztar"#root_dir:需要压缩的文件或目录路径
dir01=/Users/tongtony/测试案例/文件夹B#dir04=/Users/tongtony/测试案例/文件夹Dshutil.make_archive(dir01,zip,dir01)6.解压文件
zipfile=/Users/tongtony/测试案例/文件夹B.zip#shutil.unpack_archive(需要解压的文件,需要解压到的目录,不写默认当前目录)shutil.unpack_archive(zipfile,/Users/tongtony/测试案例)使用os和shutil模块的一个案例
按照文件格式自动归类到文件夹
importosimportshutil#列出当前目录下的所有文件path=./files=os.listdir(path)#遍历文件forfinfiles:#以扩展名为目录名folder_name=path+f.split(.)[-1]#不存在该目录,则创建ifnotos.path.exists(folder_name):os.makedirs(folder_name)#移动文件到目录shutil.move(f,folder_name)else:shutil.move(f,folder_name)
好文章,我在看??
预览时标签不可点收录于话题#个上一篇下一篇