文档章节

python shutil模块

ricardohn
 ricardohn
发布于 2017/02/23 09:59
字数 483
阅读 57
收藏 0

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()函数进行删除,被删除文件将在回收站或垃圾箱。

 

© 著作权归作者所有

共有 人打赏支持
ricardohn
粉丝 1
博文 76
码字总数 30236
作品 0
成都
私信 提问
初学Python——文件操作第三篇

一、引言 什么?有了第二篇文件操作还不够?远远不够!而且在读完第三篇文件操作还是不够。关于文件的操作,后续的学习中将不断学习新的操作方式,使用更加合适的方法。 进入正题,上一篇讲到...

学霸初养成
05/12
0
0
D05——C语言基础学PYTHON

C语言基础学习PYTHON——基础学习D05 20180815内容纲要:     1 模块     2 包     3 import的本质     4 内置模块详解       (1)time&datetime       (2)d...

m1racle
08/16
0
0
Python 3.2 alpha 1 发布-下载

这是 Python 3.2 的第一个 alpha 测试版。 Python 3.2 是 Python 3.x 系列的持续改进和稳定的版本,而目前 Python 2.x 只接受bug的修复不再添加新功能。 Python 3.x 主要亮点有: numerous i...

红薯
2010/08/02
722
0
python基础---常用模块(未完待续)

re模块(正则模块) 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事物的规则。(在Python中)它内嵌在Python中...

迟到的栋子
07/01
0
0
(总结)python 3程序开发指南(五)模块

1.有些情况下,使用单独的一条语句导入包中的所有模块会带来方便,为此在init.py文件中加入all=["",""]包含模块的名字。同理要想对导入模块中所有函数叶可以添加__all__选项,精确控制导入的...

索隆
2012/04/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

windows下让 jar 在后台运行的办法

windows下 运行 java jar 不出现 命令行 窗口 新建一个披处理 run.bat,内容如下 @echo off start javaw -jar xx.jar exit 双击运行即可。...

glen_xu
13分钟前
1
0
jdk1.8 lambda stream 指定的对象属性进行去重

原因:因为Stream提供的distinct()方法只能去除重复的对象,无法根据指定的对象属性进行去重,可以应付简单场景。 解决方案: //去重,共同信息保存到bizPledgeSupplierVOs里bizPledgeSupp...

INSISTQIAO
15分钟前
0
0
vue nextTick深入理解---vue性能优化、DOM更新时机、事件循环机制

定义[nextTick、事件循环] nextTick的由来: 由于vue的数据驱动视图更新是异步的,即修改数据的当下,视图不会立即更新,而是等同一事件循环中的所有数据变化完成之后再统一进行视图更新。...

JamesView
24分钟前
1
0
常用汉字编码

GB2312 仅包含大部分的常用简体汉字,但已经不能适应现在的需要; GB13000 由于GB2312的局限性,国家标准化委员会制定了GB13000编码; 但由于当时的硬件和软件都已经支持了GB2312,而GB13000...

晨猫
26分钟前
1
0
纳尼?我的Gradle build编译只要1s

https://juejin.im/post/5c00ec39e51d4555ec0394f6

SuShine
27分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部