温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python中shutil模块怎么用

发布时间:2021-10-18 15:20:59 来源:亿速云 阅读:163 作者:小新 栏目:编程语言

这篇文章主要介绍了Python中shutil模块怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

对比os模块的函数和shutil模块中包含的函数,会发现它们有一些重复。那么为什么会存在两个模块提供相同功能的情况呢?这就涉及到了标准库模块的定位问题了。os模块是对操作系统的接口进行封装,主要作用是跨平台,shutil模块包含复制、移动、重命名、删除文件目录以及压缩包的函数,主要作用是管理文件和目录,因此它们并不冲突,并且是互补的关系,对于常见的文件操作,shutil更易于使用。在shutil里面没有提供相应功能的情况下再使用os模块下的函数。

1、复制文件

shutil.copy('src','dst')

2、复制目录

shutil.copytree('src','dst')

3、移动目录或文件(重命名)

shutil.move('src','dst')

4、删除目录

shutil.rmtree('path')

5、更改属主及属组

shutil.chown('path','user','group')

6、查找命令绝对路径

shutil.which('cmd')

7、获取磁盘使用空间

total, used, free = shutil.disk_usage("path")
print("当前磁盘共: %iGB, 已使用: %iGB, 剩余: %iGB"%(total / 1073741824, used / 1073741824, free / 1073741824))

注:默认单位是字节,所以转换为了GB,公式如下:
1KB= 1024字节,1MB= 1024KB,1GB= 1024MB; 所以:1G=1073741824字节。也就是上面为什么要除以1073741824

8、归档和解包

1)获取当前系统支持的解包文件格式(后缀)
shutil.get_unpack_formats()
2)获取当前系统支持的压缩文件格式(后缀)
shutil.get_archive_formats()
3)归档压缩
shutil.make_archive('test','gztar','./')    #将当前目录下所有文件打包为test.tar.gz

参数解释如下(从左往右开始):

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

  • gztar: 压缩包种类,可选值有:“zip”, “tar”, “bztar”,“gztar”

  • ./: 要压缩的文件夹路径(默认当前目录)

4)解档压缩
shutil.unpack_archive(filename,extract_dir=None,format=None)
# 栗子:
shutil.unpack_archive('test.tar.gz','/opt/tlv')
  • filename:文件路径;

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

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

感谢你能够认真阅读完这篇文章,希望小编分享的“Python中shutil模块怎么用”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI