您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python实现linux下使用xcopy的方法

5b51 2022/1/14 8:21:45 python 字数 2973 阅读 505 来源 www.jb51.cc/python

本文实例讲述了python实现linux下使用xcopy的方法。分享给大家供大家参考。具体如下:

概述

本文实例讲述了python实现linux下使用xcopy的方法分享给大家供大家参考。具体如下:

这个python函数模仿windows下的xcopy命令编写,可以用在linux下

#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
xcopy for Linux...
Use:
______________________________________________________________________________
import sys,os
sys.path.insert(0,r"/path/to/LinuxXCopy")
from LinuxXCopy import XCopy
filters = ["*.py"]
xc = XCopy(os.getcwd(),"/tmp/test",filters)
______________________________________________________________________________
"""
__author__ = "Jens Diemer"
__license__ = """GNU General Public License v2 or above -
 http://www.opensource.org/licenses/gpl-license.PHP"""
__url__   = "http://www.jensdiemer.de"

__info__  = ""

__version__="0.1"

__history__="""
v0.1
  - erste Version
"""
import os,shutil,fnmatch
class XCopy:
  def __init__(self,src,dst,filters=[]):
    self.filters = filters
    self.copytree(src,dst)
  def copytree(self,dst):
    """
    Based in shutil.copytree()
    """
    names = os.listdir(src)
    if not os.path.isdir(dst):
      os.makedirs(dst)
    errors = []
    for name in names:
      srcname = os.path.join(src,name)
      dstname = os.path.join(dst,name)
      if os.path.isdir(srcname):
        self.copytree(srcname,dstname)
      elif os.path.isfile(srcname):
        if self.filterName(name):
          print "copy:",name,dstname
          shutil.copy2(srcname,dstname)
    shutil.copystat(src,dst)
  def filterName(self,fileName):
    for filter in self.filters:
      if fnmatch.fnmatch(fileName,filter):
        return True
    return False

希望本文所述对大家的Python程序设计有所帮助。

总结

以上是编程之家为你收集整理的python实现linux下使用xcopy的方法全部内容,希望文章能够帮你解决python实现linux下使用xcopy的方法所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶