温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python如何拷贝删除文件夹

发布时间:2020-08-26 11:31:35 来源:亿速云 阅读:216 作者:Leah 栏目:编程语言

python如何拷贝删除文件夹?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

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()

看完上述内容,你们掌握python如何拷贝删除文件夹的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI