python shutil模块初学

本文介绍了Python的shutil模块,包括复制、移动文件和目录,删除操作,以及遍历文件夹的方法。示例展示了如何使用shutil.copy(), shutil.copytree(), shutil.move()进行文件和目录的操作,同时提到了安全的删除方式send2trash。" 111417861,10295457,Python使用xarray和cfgrib读取grib文件教程,"['Python编程', '气象数据处理', '数据读取', '数据科学', 'grib解析']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

shuttil 模块 包含一些处理文件的函数。

import shutil 引入包

shutil.copy('C:\\a\\1.txt','C:\\b')                 将1.txt文件复制到路径C:\\b中。

shutil.copy('C:\\a\\1.txt','C:\\b\\33.txt')     将1.txt文件复制到C:\\b中并改名字为33.txt 

需要注意的是使用shutil.copy(), 如果b文件夹中有相同名字的文件,那么b文件中的文件将被覆盖。已测试

 

shutil.copytree(‘G:\\a’,'G:\\b')                      

创建一个新的文件夹G:\\b,并将G:\\a整个文件复制到b下 ,相当于给a做了一个备份,不会覆盖相同名称的文件夹,会报错

shutil.move(‘G:\\a\\22.txt’,'G:\\c')  使用方法和shutil.copy一样,如果G:\\c文件夹中有22.txt文件 他将会被覆盖掉,没有c文件夹会报错

 

删除文件和文件夹

shutil.retree(path)    将删除path处的文件夹,文件夹和里面的文件都会被删除。需要注意的是使用shutil.retree()删除的文件不可以被恢复。

os模块中也有函数可以删除

os.unlink('G:\\python学习\\222\\2.txt') 将删除2.txt文件

os.rmdir(path)   将删除path处的文件夹,但是文件夹必须为空

比较安全的是使用send2trash模块里的send2trash函数来删除文件和文件夹。此函数将删除的文件和文件夹放到回收站,可以从回收站恢复。

send2trash.send2trash('G:\\python学习\\222\\2.txt')

 

遍历文件夹

os.walk(‘文件路径’) 将返回三个值

1.返回当前目录的字符串

2.当前文件夹中子文件夹中的字符串列表

3.当前文件夹在中的文件字符串列表

G:\python学习\222   #主文件夹包含一个子文件夹G:\python学习\222\2和1.txt文件,子文件夹内没有文件。

import os ,shutil

for fold,sub,fil in os.walk('G:\\python学习\\222'):
    print('我是fold',fold)
    print('我是sub',sub)
    print('我是fil',fil)

我是fold G:\python学习\222 
我是sub ['2']   #子文件夹的名字
我是fil ['1.txt']
我是fold G:\python学习\222\2    #这个文件夹里面是空的所有返回的另外两个值也是空的列表。
我是sub [] 
我是fil []

由此可见

第一个返回值主文件夹,字符串

第二个返回值是主文件夹中的子文件夹的名字,列表

第三个返回值是主文件夹中的文件,列表

然后开始迭代

同上遍历子文件夹

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值