文档章节

python shutil模块

ricardohn
 ricardohn
发布于 2017/02/23 09:59
字数 483
阅读 54
收藏 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
成都
D05——C语言基础学PYTHON

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

m1racle
08/16
0
0
初学Python——文件操作第三篇

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

学霸初养成
05/12
0
0
python处理word文件:win32com用法详解

目标:用python处理doc文件 方法:引入win32com模块 ** 一、安装 ** 首先要先下载安装win32com模块(起先在linux下装不成功,后在windows下面成功了。。。) 下载地址:http://sourceforge....

彼得
2014/07/21
0
3
十行代码--用python写一个USB病毒 (知乎 DeepWeaver)

昨天在上厕所的时候突发奇想,当你把usb插进去的时候,能不能自动执行usb上的程序。查了一下,发现只有windows上可以,具体的大家也可以搜索(搜索关键词usb autorun)到。但是,如果我想,比...

p柯西
06/19
0
0
(总结)python 3程序开发指南(五)模块

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

索隆
2012/04/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ajax 提交返回map集合 获取不到值

后台java代码 @RequestMapping("/cameraList") @ResponseBody public Map<String, Object> cameraListForPage(@RequestParam(defaultValue = "1", value = "page") Integer page......

S三少S
5分钟前
0
0
TypeScrip最污的技术课-技术胖TypeScript图文视频教程

近日Node.js之父瑞安达尔(Ryan Dahl)发布新的开源项目 deno,从官方介绍来看,可以认为它是下一代 Node,使用 rust 语言代替 C++ 重新编写跨平台底层内核驱动,上层仍然使用 V8 引擎,最终...

JamesView
7分钟前
5
0
Es学习笔记

1.过滤排重聚合查询 筛选出某一个聚合值的个数统计。相当于mysql的distinct. 关键字:cardinality "aggs": { "2":{ "cardinality": { "field": "field" } ...

Gmupload
10分钟前
0
0
h5语义化标签

语义化HTML:用最恰当的HTML元素标签做恰当的事情。 优点: 提升可访问性; SEO; 结构清晰,利于维护; 通用容器:div——块级通用容器;span——短语内容无语义容器。 <title></title>:简...

莫西摩西
15分钟前
0
0
修改11g rac中 asm diskstring的发现路径

问题 : 如果我 们asm_disking以前是/dev/oracleasm/disks/* ,并且现在已经有磁盘组再用这个磁盘串了,那么,我们无法直接修改这个发现串为 ORCL:*,修改会报错,提示存在的磁盘无法使用新的...

tututu_jiang
18分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部