网络编程
位置:首页>> 网络编程>> Python编程>> python实现linux下使用xcopy的方法

python实现linux下使用xcopy的方法

作者:不吃皮蛋  发布时间:2022-08-16 07:52:09 

标签: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, src, 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程序设计有所帮助。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com