python怎么拷贝文件夹
1、拷贝文件夹
from shutil import copytree, ignore_patternscopytree(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
Handler the Error: %s" %(path, excinfo)
if __name__ == '__main__':
rootdir = r"E:workspaceminiofficemini-coresrcmainwebapp" # 需要处理的文件夹
rootdir = unicode(rootdir, "utf8")
dirname = ".svn" # 删除的文件夹
c = DelDir(rootdir, dirname)
c.run()
众多python教程,尽在网,欢迎在线学习!
以上是 python怎么拷贝文件夹 的全部内容, 来源链接: utcz.com/z/524471.html