《Python自动化》学习笔记:shutil模块使用介绍

1.shutil模块

该模块基本功能:用python程序复制移动和删除文件等操作。

该模块的导入操作:

import shutil

1.1 文件(夹)的复制操作

# source:源路径
# destination 目标路径
# 将源路径的文件(夹)复制到目标路径
shutil.copy(source,destination)

相关的操作代码例子如下:

import os
import shutil
from pathlib import Path
p = Path.cwd() #当前路径
shutil.copy(p/'123.jpeg',p/'picture/pic1.jpeg')

我的当前路径下有一个图片文件123.jpeg和一个文件夹叫picture。

在这里插入图片描述

程序运行完后可以看到:

在这里插入图片描述

图片已经被我复制到文件夹下面去了。实际上如果不声明目标路径的文件名称pic1.jpeg的话就会将该图片不重命名的移动到文件夹下。

若要将一个文件夹中的所有内容移动到另一个文件夹中。则应该采用shutil.copytree(source,destination)。

1.2 文件(夹)的移动和重命名

移动文件(夹)在python中的命令为:

import shutil
shutil.move(source,destination)

**注意:**在这里,必须保证构成目的地的各层级目录必须已经存在。也就是说这里的source和destination必须写完整路 径,否则使用就会报错。

import shutil
from pathlib import Path
p = Path.cwd()
shutil.move(p/'125.jpg',Path(p,'picture','125.jpg'))

运行前:

在这里插入图片描述
运行后:

在这里插入图片描述

1.3 文件(夹)的删除操作

  • import os,shutle
  • 采用函数os.unlink(Path)将删除Path处的文件
  • 采用os.rmdir(Path)将删除空的文件及且必须是空的文件夹。
  • shutil.rmtree(Path)将删除Path处的文件夹,及其所有的文件夹内的内容。
    文件及且必须是空的文件夹。
  • shutil.rmtree(Path)将删除Path处的文件夹,及其所有的文件夹内的内容。
  • 在安装send2trash模块后,采用send2trash.send2trash(Path)以将该路径下的文件夹送到回收站中。

1.4 遍历目录树

采用os.walk(Path)函数,Path是要遍历的文件夹的路径所在。在每次的循环迭代中返回以下三个值:

  • 当前文件夹名称的字符串
  • 当前文件夹中子文件夹的字符串的列表
  • 当前文件夹中文件的字符串的列表
import os
from pathlib import Path
for folderNames,subFolderNames,files in os.walk(Path.cwd()):
    print('当前的文件夹是:'+folderNames)
    for subFolderName in subFolderNames:
        print(folderNames+'的子文件夹是:'+subFolderName)
    for files in files:
        print(folderNames+'的文件是:'+ files)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值