千家信息网

Python之shutil模块常用的函数有哪些

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要讲解了"Python之shutil模块常用的函数有哪些",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Python之shutil模块常用的函
千家信息网最后更新 2026年11月01日Python之shutil模块常用的函数有哪些

这篇文章主要讲解了"Python之shutil模块常用的函数有哪些",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Python之shutil模块常用的函数有哪些"吧!

shutil 是 Python 中的高级文件操作模块,与os模块形成互补的关系,os主要提供了文件或文件夹的新建、删除、查看等方法,还提供了对文件以及目录的路径操作。shutil模块提供了移动、复制、 压缩、解压等操作,恰好与os互补,共同一起使用,基本能完成所有文件的操作。是一个非常重要的模块。

#加载包 import shutil #查看包中的所有方法 print(dir(shutil)) [ 'chown', 'collections', 'copy', 'copy2', 'copyfile', 'copyfileobj', 'copymode', 'copystat', 'copytree', 'disk_usage', 'errno', 'fnmatch', 'get_archive_formats', 'get_terminal_size', 'get_unpack_formats', 'getgrnam', 'getpwnam', 'ignore_patterns', 'make_archive', 'move', 'nt', 'os', 'register_archive_format', 'register_unpack_format', 'rmtree', 'stat', 'sys', 'unpack_archive', 'unregister_archive_format', 'unregister_unpack_format', 'which']

1. copy()

描述:复制文件

语法:shutil.copy(fsrc,path),返回值:返回复制之后的路径

  • fsrc:源文件

  • path:目标地址

shutil.copy('test.csv','C:/Users/zhengxiang.wzx/Desktop/') 'C:/Users/zhengxiang.wzx/Desktop/test.csv'

2. copy2()

描述:复制文件和状态信息

语法:shutil.copy(fsrc,path),返回值:返回复制之后的路径

  • fsrc:源文件

  • path:目标地址

shutil.copy2('test.csv','C:/Users/zhengxiang.wzx/Desktop/') 'C:/Users/zhengxiang.wzx/Desktop/test.csv'

3. copyfileobj()

描述:将一个文件的内容拷贝到另一个文件中,如果目标文件本身就有内容,来源文件的内容会把目标文件的内容覆盖掉。如果文件不存在它会自动创建一个。

语法:shutil.copyfileobj(fsrc, fdst[, length=16*1024])

  • fsrc:源文件

  • fdst:复制至fdst文件

  • length:缓冲区大小,即fsrc每次读取的长度

import shutil f1 = open('file.txt','r') f2 = open('file_copy.txt','w+') shutil.copyfileobj(f1,f2,length=16*1024)

4. copyfile()

描述:将一个文件的内容拷贝到另一个文件中,目标文件无需存在

语法:shutil.copyfile(src, dst,follow_symlinks)

  • src:源文件路径

  • dst:复制至dst文件,若dst文件不存在,将会生成一个dst文件;若存在将会被覆盖

  • follow_symlinks:设置为True时,若src为软连接,则当成文件复制;如果设置为False,复制软连接。默认为True。

#file_1不存在,会产生一个 shutil.copyfile('file_0.csv','file_1.csv') 'file_1.csv'  #file_2存在,直接复制 shutil.copyfile('file_0.csv','file_2.csv') 'file_2.csv'

5. copytree()

描述:复制整个目录文件,不需要的文件类型可以不复制

语法:shutil.copytree(oripath, despath, ignore= shutil.ignore_patterns("*.xls", "*.doc"))

参数:

  • oripath : "来源路径"

  • despath : "目标路径"

  • ignore : shutil.ignore_patterns() 是对内容进行忽略筛选,将对应的内容进行忽略。

import shutil,os path2 = os.path.join(os.getcwd(),"kaggle") path2 'C:\\Users\\wuzhengxiang\\Desktop\\Python知识点总结\\kaggle' #bbb与ccc文件夹都可以不存在,会自动创建 path3 = os.path.join(os.getcwd(),"bbb","ccc") path3 'C:\\Users\\wuzhengxiang\\Desktop\\Python知识点总结\\bbb\\ccc' # 将"abc.txt","bcd.txt"忽略,不复制 shutil.copytree(path2,path3,ignore=shutil.ignore_patterns("abc.txt","bcd.txt"))

6. copymode()

描述:拷贝权限,前提是目标文件存在,不然会报错。将src文件权限复制至dst文件。文件内容,所有者和组不受影响

语法:shutil.copymode(src,dst)

  • src:源文件路径

  • dst:将权限复制至dst文件,dst路径必须是真实的路径,并且文件必须存在,否则将会报文件找不到错误

  • follow_symlinks:设置为False时,src, dst皆为软连接,可以复制软连接权限,如果设置为True,则当成普通文件复制权限。默认为True。Python3新增参数

shutil.copymode("file_0.csv","file_1.csv")

7. move()

描述:移动文件或文件夹

语法:shutil.move(src, dst)

os.chdir('C:/Users/wuzhengxiang/Desktop/Python知识点总结') os.getcwd() shutil.move('file_1.csv', 'C:/Users/wuzhengxiang/Desktop/股票数据分析') 'C:/Users/wuzhengxiang/Desktop/股票数据分析\\file_1.csv'

8. disk_usage()

描述:查看磁盘使用信息,计算磁盘总存储,已用存储,剩余存储信息。

语法:shutil.disk_usage('盘符')

返回值:元组

shutil.disk_usage('D:') usage(total=151199412224, used=41293144064, free=109906268160)  total,总存储:151199412224/1024/1024/1024=140GB used,已使用:41293144064/1024/1024/1024=38GB free,剩余容量:109906268160/1024/1024/1024=102GB

9. make_archive()

描述:压缩打包

语法:make_archive(base_name, format, root_dir=None, base_dir=None, verbose=0,dry_run=0, owner=None, group=None, logger=None)

压缩打包:

  • base_name: 压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径

  • format: 压缩或者打包格式 "zip", "tar", "bztar"or "gztar"

  • root_dir : 将哪个目录或者文件打包(也就是源文件)

#把当前目录下的file_1.csv打包压缩 shutil.make_archive('file_1.csv','gztar',root_dir='C:/Users/wuzhengxiang/Desktop/股票数据分析') 'C:\\Users\\wuzhengxiang\\Desktop\\股票数据分析\\file_1.csv.tar.gz'

10. get_archive_formats()

描述: 获取支持的压缩文件格式。目前支持的有:tar、zip、gztar、bztar。在Python3还多支持一种格式xztar

语法:unpack_archive(filename, extract_dir=None, format=None)

  • filename:文件路径

  • extract_dir:解压至的文件夹路径。文件夹可以不存在,会自动生成

  • format:解压格式,默认为None,会根据扩展名自动选择解压格式

import shutil,os zip_path = os.path.join(os.getcwd(),"file_1.csv.tar") extract_dir = os.path.join(os.getcwd(),"aaa") shutil.unpack_archive(zip_path, extract_dir)

11. rmtree()

描述:递归的去删除文件

语法:shutil.rmtree(path[, ignore_errors[, onerror]])

#删除文件夹 shutil.rmtree('C:/Users/wuzhengxiang/Desktop/Python知识点总结/test2')

感谢各位的阅读,以上就是"Python之shutil模块常用的函数有哪些"的内容了,经过本文的学习后,相信大家对Python之shutil模块常用的函数有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

文件 路径 语法 内容 模块 目标 文件夹 源文件 权限 格式 目录 知识 知识点 函数 常用 数据 数据分析 股票 分析 存储 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技与金融科技 艾特科技互联网 互联网金融科技平台 互联网科技股有哪些 科技大学互联网专业好不好 广州慧亚互联网科技怎么样 成都互联网科技公司100强 承德科技产业互联网发展 世界互联网科技公司市值排名 哈尔滨屹滨互联网科技有限公司 中国科技创新与世界互联网大会 怎样加入科技互联网 新氧科技和美国互联网有关系吗 福州德业互联网科技 云鲸互联网络科技有限公司 唯美互联网科技 美国五大互联网科技公司市值多少 科技互联网专业务虚会材料 重庆科技产业互联网有哪些 互联网的黑科技实验室 汇久创客互联网科技 互联网科技公司有哪些 互联网前沿科技 四个字互联网科技公司取名 成都铂石互联网科技做什么的 港股科技和互联网 民营互联网公司国防科技 四川慕妮娅互联网科技有限公司 互联网科技公司营业执照怎么办理 现代科技的标志之一的互联网
0