千家信息网

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

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要讲解了"Python之shutil模块常用的函数有哪些",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Python之shutil模块常用的函
千家信息网最后更新 2025年11月07日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安全错误 数据库的锁怎样保障安全 购买云服务器费用怎么记账 去迪拜做游戏软件开发工作 能耗管理软件开发机构 jsp页面显示数据库信息 互联网软件开发难学吗 5g网络安全设备招标 互联网与科技融合发展 怎么建立新的数据库 普洱计算机网络技术学校 问答数据库怎么弄 重庆pdu服务器专用电源订购 青岛学安教育网络技术有限公司 网上订餐数据库设计 三丰云服务器怎样使用 我的世界卡掉服务器还能不能进 广东pdu服务器电源哪里有 网络安全知识学习笔记 我的世界如何搬运租赁服务器 网络安全监测装置怎么调试 自制网络监控服务器 方舟手游怎样自己创造一个服务器 mysql连接数据库代码 网络安全大队工作方案 网络安全倡议书作文六年级 天翼云杯网络安全 王思聪服务器组装过程 大数据开发软件开发网 国产互联网科技有哪些 电脑软件开发哪里有 软件开发会影响发展吗
0