文档章节

Python拷贝/删除文件夹

dexterman
 dexterman
发布于 2013/10/29 09:30
字数 333
阅读 319
收藏 0

环境:Python 2.7, Win7 64bit

1. 拷贝文件夹

from shutil import copytree, ignore_patterns
copytree(source, destination, ignore=ignore_patterns('*.pyc', 'tmp*'))

注:shutil.copytree实现

def copytree(src, dst, symlinks=False, ignore=None):
    names = os.listdir(src)
    if ignore is not None:
        ignored_names = ignore(src, names)
    else:
        ignored_names = set()

    os.makedirs(dst)
    errors = []
    for name in names:
        if name in ignored_names:
            continue
        srcname = os.path.join(src, name)
        dstname = os.path.join(dst, name)
        try:
            if symlinks and os.path.islink(srcname):
                linkto = os.readlink(srcname)
                os.symlink(linkto, dstname)
            elif os.path.isdir(srcname):
                copytree(srcname, dstname, symlinks, ignore)
            else:
                copy2(srcname, dstname)
            # XXX What about devices, sockets etc.?
        except (IOError, os.error) as why:
            errors.append((srcname, dstname, str(why)))
        # catch the Error from the recursive copytree so that we can
        # continue with other files
        except Error as err:
            errors.extend(err.args[0])
    try:
        copystat(src, dst)
    except WindowsError:
        # can't copy file access times on Windows
        pass
    except OSError as why:
        errors.extend((src, dst, str(why)))
    if errors:
        raise Error(errors)


2. 删除文件夹

#! /usr/bash/python
# encoding:utf-8

import os
import os.path
import stat
import shutil

class DelDir:
	''' 删除指定根目录下特定文件夹 '''
	def __init__(self, root, dirname):
		self.root = root
		self.dirname = dirname

	def run(self):
		for r, dirs, files in os.walk(self.root):
			if self.dirname in dirs:
				srcDir = os.path.join(r, self.dirname)
				#更改权限(win7会出现权限问题)
				os.chmod(srcDir, stat.S_IREAD | stat.S_IWRITE)
				result = shutil.rmtree(srcDir, False, self.__handler)
				print  "%s" %(srcDir)

	def __handler(self, function, path, excinfo):
		''' 删除出错处理 '''
		#更改权限(win7会出现权限问题)
		os.chmod(path, stat.S_IREAD | stat.S_IWRITE)
		function(path)
		print "[Handler] ==> Path:%s  \n\tHandler the Error: %s" %(path, excinfo)

if __name__ == '__main__':
	rootdir = r"E:\workspace\minioffice\mini-core\src\main\webapp" # 需要处理的文件夹
	rootdir = unicode(rootdir, "utf8")
	dirname = ".svn" # 删除的文件夹
	c = DelDir(rootdir, dirname)
	c.run()



© 著作权归作者所有

共有 人打赏支持
dexterman
粉丝 5
博文 32
码字总数 11697
作品 0
广州
程序员
Python基础班每日整理(一)

01_Linux基础 1.操作系统的作用? 操作系统是配置在计算机硬件上的第一层软件,主要作用是管理好硬件设备。 2.Linux中根目录和家目录分别用什么表示? /表示根目录、~表示家目录 3.Linux中相...

我是小谷粒
06/28
0
0
不要bjam了,让python与boost更加自由的混搭

[我下的是1.51] 流水的记录下这两天折腾boost/MinGW环境的过程[注意用标准的cmd,不要用msys] 1.编译bjam: 到toolsbuildv2engine目录下,输入build mingw, 这会在toolsbuildv2enginebin.ntx86...

dameng
2012/09/17
0
0
创建Python2和Python3的虚拟环境

一、windows上安装 1.安装python 分别安装了Python2和Python3 python3.7默认安装目录 安装目录里的python.exe,pip.py自定是否修改 2.安装virtualenv和virtualenvwrapper-win 3.修改虚拟环境 ...

xiaoge2016
07/30
0
2
Python3好用的原生api

读取特定目录下所有的文件夹, 和文件名 os.walk("./")是我最喜欢的api之一, 作用是获取某个路径下,所有的文件夹和文件的路径, 如果你是一个喜欢写脚本的人, 那这个api或许能帮你更优雅的实现...

木子昭
07/31
0
0
关于center os yum卸载和python卸载后的解决办法

昨天配置代码审核工具reviewboard,这个是基于Python的框架Djanjo构建的,需要升级yum源,结果捣鼓来捣鼓去,系统一下子多了3 ,4个python,把Yum也搞坏了。后来不知道看了哪个损比写的帖子,把...

范思哲思考者
2014/07/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

使用esp8266制作wifi干扰器

概述 这个东西,说真的对现在的无线网络环境影响其实不是很大了,首先它只能玩2.4ghz的无线,其次这个模块不是特别的可靠,运行的时候温度会很高,买来玩玩还是可以的 什么是esp8266 ESP8266...

bboysoulcn
13分钟前
0
0
以太坊总结

一、概念说明 1.以太坊(Ethereum blockchain)由V神(Vitalik Buterin)发明,是一个交易记录的永久数据库,它以一个“无信任”的交易系统来运行,不需要任何第三方信任机构即可进行点对点的...

盼望明天
38分钟前
1
0
Java并发工具类——AtomicInteger

基本类型int的递增等操作并不是线程安全的,加上synchronized又会影响性能,因此在并发情况下我们应该使用AtomicInteger,下面通过一个例子验证一哈。 public class TestAtomicInteger {...

东都大狼狗
40分钟前
2
0
基于CentOS7.2系统对RabbitMQ单机版安装过程

准备虚拟机系统 我的系统如下 系统版本7.2 安装perl yum install perl 安装wget工具 yum install -y wget 安装相关依赖工具 yum install ncurses ncurses-base ncurses-devel ncurses-libs ...

凌晨一点
44分钟前
1
0
Maven常用命令

Maven常用命令 说到命令,则不得不提一下环境变量,在之前的博文中简单提了一下环境变量的配置,这里具体说一下。说完环境变量的配置,然后就是Maven的常用命令,这里说的是常用的几个命令,...

星汉
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部