python shutil模块
python shutil模块
ricardohn 发表于12个月前
python shutil模块
  • 发表于 12个月前
  • 阅读 11
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

摘要: shutil(或称为 shell 工具)模块中包含一些函数,让你在 Python 程序中复制、移动、改名和删除文件。

1、复制文件和文件夹

调用 shutil.copy(source, destination),将路径 source 处的文件复制到路径 destination处的文件夹( source 和 destination 都是字符串)。如果 destination 是一个文件名,它将作为被复制文件的新名字。该函数返回一个字符串,表示被复制文件的路径。

import shutil, os
os.chdir('C:\\')
shutil.copy('C:\\spam.txt', 'C:\\delicious')
#'C:\\delicious\\spam.txt'
shutil.copy('eggs.txt', 'C:\\delicious\\eggs2.txt')
#'C:\\delicious\\eggs2.txt

shutil.copy()将复制一个文件, shutil.copytree()将复制整个文件夹,以及它包含的文件夹和文件。调用 shutil.copytree(source, destination),将路径 source 处的文件夹,包括它的所有文件和子文件夹,复制到路径 destination 处的文件夹。 source 和destination 参数都是字符串。该函数返回一个字符串,是新复制的文件夹的路径。

import shutil, os
os.chdir('C:\\')
shutil.copytree('C:\\bacon', 'C:\\bacon_backup')
#'C:\\bacon_backup'

2、文件和文件夹的移动和改名

调用 shutil.move(source, destination), 将路径 source 处的文件夹移动到路径destination,并返回新位置的绝对路径的字符串。可以实现文件和文件夹的改名,移动时目标文件夹必须存在,否则抛出FileNotFoundError异常。

import shutil

shutil.move('C:\\bacon.txt', 'C:\\eggs\\new_bacon.txt')
#'C:\\eggs\\new_bacon.txt'

3、永久删除文件和文件夹,不可恢复

  • 用 os.unlink(path)将删除 path 处的文件。
  • 调用 os.rmdir(path)将删除 path 处的文件夹。该文件夹必须为空,其中没有任何文件和文件夹。
  • 调用 shutil.rmtree(path)将删除 path 处的文件夹,它包含的所有文件和文件夹都会被删除。

 该操作永久删除不可恢复,如需安全删除,可安装第三方模块send2trash,使用send2trash.send2trash()函数进行删除,被删除文件将在回收站或垃圾箱。

 

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 1
博文 76
码字总数 30236
×
ricardohn
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: