百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

Python 的标准库shutil: 优雅的文件和目录操作

liuian 2025-06-30 17:56 22 浏览

shutil 是 Python 的标准库之一,提供了许多文件和目录操作的功能。以下是 shutil 常用的功能列表,并给出了每个功能的简单示例:

文件和目录的复制

  1. (shutil.copy, shutil.copy2, shutil.copyfile, shutil.copytree):
import shutil

# 复制文件
shutil.copy('source.txt', 'destination.txt')

# 复制文件,保留元数据(如访问时间、修改时间等)
shutil.copy2('source.txt', 'destination.txt')

# 复制文件内容(不包括元数据)
shutil.copyfile('source.txt', 'destination.txt')

# 复制目录及其内容
shutil.copytree('source_dir', 'destination_dir')

文件和目录的移动和重命名 (shutil.move, shutil.rename):

import shutil

# 移动文件或目录
shutil.move('source.txt', 'destination.txt')

# 重命名文件或目录
shutil.rename('old_name.txt', 'new_name.txt')

文件和目录的删除 (shutil.rmtree, os.remove):

import shutil

# 递归删除目录及其内容
shutil.rmtree('directory')

# 删除文件
os.remove('file.txt')

压缩和解压缩文件 (shutil.make_archive, shutil.unpack_archive):

import shutil

# 创建压缩文件(支持多种格式,如 zip、tar、gztar)
shutil.make_archive('archive', 'zip', 'directory')

# 解压缩压缩文件
shutil.unpack_archive('archive.zip', 'extracted_directory')

文件和目录的权限设置 (shutil.chown, shutil.chmod):

import shutil

# 修改文件或目录的所有者和组
shutil.chown('file.txt', user='new_user', group='new_group')

# 修改文件或目录的权限
shutil.chmod('file.txt', mode=0o755)

获取文件大小、获取最后访问时间等 (shutil.disk_usage, shutil.getatime, shutil.getmtime, shutil.getctime):

import shutil

# 获取磁盘使用情况
usage = shutil.disk_usage('/path/to/directory')
print(usage.total, usage.used, usage.free)

# 获取文件或目录的最后访问时间、修改时间、创建时间
atime = shutil.getatime('file.txt')
mtime = shutil.getmtime('file.txt')
ctime = shutil.getctime('file.txt')

目录的遍历 (shutil.walk):

import shutil

# 遍历目录及其子目录中的所有文件和文件夹
for root, dirs, files in shutil.walk('directory'):
    print(root)  # 当前遍历的目录
    print(dirs)  # 当前目录下的子目录
    print(files)  # 当前目录下的文件

文件和目录的比较 (shutil.cmp):

import shutil

# 比较两个文件的内容是否相同
same = shutil.cmp('file1.txt', 'file2.txt')

# 比较两个目录的内容是否相同
same = shutil.cmp('dir1', 'dir2')

创建临时文件和目录 (shutil.mkstemp, shutil.mkdtemp):

import shutil

# 创建临时文件(返回文件对象和文件路径)
temp_file = shutil.mkstemp(suffix='.txt', prefix='temp_', dir='temp_dir')

# 创建临时目录(返回目录路径)
temp_dir = shutil.mkdtemp(prefix='temp_')

获取文件或目录的状态信息 (shutil.stat):

import shutil

# 获取文件或目录的状态信息
stat_info = shutil.stat('file.txt')

# 获取文件或目录的大小(字节数)
file_size = stat_info.st_size

# 获取文件或目录的权限(八进制数表示)
file_mode = stat_info.st_mode

# 获取文件或目录的最后访问时间
access_time = stat_info.st_atime

相关推荐

手机天梯图2025最新版(手机天梯图cpu2020快科技)

一般情况下而言,手机处理器的性能越强,功耗也就越高。有网友制作了一张手机处理器功耗排名图,高通骁龙888位8.34W,是榜单中功耗第二的处理器。而海思麒麟9000则位列第三,功耗为8.3W。一般情况下...

pe系统下载官网手机版(pe系统之家)

打开手机应用商店,选择windowspe,下载安装PE系统是一种维护用的系统,本身是很简陋的,什么常用功能都没有,后经一些爱好都修改、完善,现在成为可当临时系统用的精简系统。但PE系统当前种类很多,...

云骑士装机大师怎么激活win7

回答如下:要激活Windows7操作系统,您可以按照以下步骤进行操作:1.确保您的计算机已连接到互联网。2.打开“开始”菜单,点击“计算机”右键,选择“属性”。3.在系统属性窗口中,向下滚动到...

vmware workstation使用教程

VMwareWorkstation15是一款虚拟机软件,可以在主机上模拟多个虚拟计算机环境。以下是使用VMwareWorkstation15的基本步骤:1.下载和安装软件:从VMware官方...

windows7旗舰版64位多少钱(windows7旗舰版64位多少钱合适)

这两个都是64位的,唯一区别是后者集成SP1。win7旗舰版64位玉米系统比较稳定,不但稳定,运行速度也很快!WIN764位系统需要的电脑配置。最低配置CPU:1GHz32位或2G...

电脑黑屏了怎么重装系统(电脑黑屏怎么重装系统win10)

我觉着吧,题主的判断可能是不正确的黑屏开不了机指的是开机后显示屏无任何信号接入首先从电源出发,电源的cpu供电,主板供电,显卡供电,硬盘供电,每一项都要确保接触完整再到主板,主板上呢,cpu散热必须接...

三星官网正品查询(三星全新正品查询网站)

三星服务中心地址:http://support-cn.samsung.com/support/ServiceLocations.asp国家工信部电信设备进网管理网站查询移动设备真伪方式:方法一:网站查...

显示windows许可证即将过期

电脑提示Windows许可证即将到期,可以采取以下措施:检查许可证状态:首先需要确认许可证是否真的即将过期。可以在Windows设置中查看许可证状态,或者运行命令“slmgr/xpr”来检查许可证到...

u盘看不到第二个分区(u盘不显示第二个分区)

u盘分区后不显示出来原因一般为以下三种:第一种情况:对于windows系统是只能识别U盘分区的。第二种情况:关于U盘的diskgenius分区是只能看到一个分区的第三种情况:这个U盘分区已经被隐藏了,...

小马激活重启电脑开不了机(小马激活重启后蓝屏怎么办)

1.无法激活2.小马激活工具可能无法激活的原因有很多,可能是因为软件本身存在bug或者与操作系统不兼容,也可能是因为网络连接问题或者输入的激活码有误。此外,小马激活工具可能需要特定的硬件或软件环境...

windows7 破解版(windows 7旗舰版破解密码)

步骤/方法按Windows徽标键+R(运行窗口),打开cmd运行窗口。输入slmgr.vbs-xpr后回车。这时会弹出一个窗口显示Win7的激活状态。Windows7旗舰版属于微软公司开发的...

专业数据恢复(专业数据恢复需要什么设备)

1、移动硬盘损坏以后,电脑无法识别到硬盘信息,那么整个硬盘数据将全部丢失。2、如果能够换一台电脑识别到,即使打不开,只要能够格式化,就有希望回复数据。可以尝试制作U盘系统盘的方法,打开u盘系统盘制作程...

声卡怎么连接手机唱歌

1.首先是使用音频连接线把手机的耳机孔/数据口与声卡的【直播】插孔相连;同样使用音频线把手机与声卡的【伴奏】插孔相连;耳机连接在声卡的【耳麦】插孔;连接好后打开直播手机,进入直播软件,伴奏设备播放歌曲...

iphone官网下载(苹果官网下载ios)

PP助手、同步推等手机助手都可以下载已经下架的应用,这类助手有很多,一搜一大把,而且就我知道的PP助手还能选择下载历史版本,当然也有部分应用是没在商店上架的,他们是通过企业证书公布自己的应用,需要到官...

photoshop免费软件(免费ps软件推荐)

photoshop是adobe公司旗下的产品,正确来说,购买正版的时候代表购买了该软件的使用权,可以享有注册软件,升级软件等服务.下载试用版可在试用期内使用无需收费.官方试用版在30天内是免费的...