python实现linux下使用xcopy的方法

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

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

  ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54

#!/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程序设计有所帮助。

时间: 2024-11-08 17:25:51

python实现linux下使用xcopy的方法的相关文章

python获取Linux下文件版本信息、公司名和产品名的方法_python

本文实例讲述了python获取Linux下文件版本信息.公司名和产品名的方法,分享给大家供大家参考.具体如下: 区别于前文所述.本例是在linux下得到文件版本信息,主要是通过pefile模块解析文件 中的字符串得到的.代码如下: def _get_company_and_product(self, file_path): """ Read all properties of the given file return them as a dictionary. @retur

Python实现Linux下守护进程的编写方法_python

本文实例讲述了Python实现Linux下守护进程的编写方法,分享给大家供大家参考,相信对于大家的Python程序设计会起到一定的帮助作用.具体方法如下: 1. 调用fork()以便父进程可以退出,这样就将控制权归还给运行你程序的命令行或shell程序.需要这一步以便保证新进程不是一个进程组头领进程(process group leader).下一步,'setsid()',会因为你是进程组头领进程而失败.进程调用fork函数时,操作系统会新建一个子进程,它本质上与父进程完全相同.子进程从父进程继

Python MySQLdb Linux下安装笔记

  这篇文章主要介绍了Python MySQLdb Linux下安装笔记,本文分别讲解了快速安装和手动编译安装两种方法,并分别讲解了操作步骤,需要的朋友可以参考下 在家里windows环境下搞了一次 见 python MySQLdb在windows环境下的快速安装.问题解决方式 http://www.jb51.net/article/65746.htm 在公司开发需要,再搞一次,linux下的. 发现用编译的方式安装真的很蛋疼,不过也算见见世面,各种问题......奋斗 这里也有两种方式: A.

解决linux下arp攻击的方法

一般Windows用户可以使用antiArp防火墙,但是有些计算专业的朋友们由于工作或其他原因使用的是linux系统,那么linux下arp攻击怎么办呢?下面就是一位高手解决linux下arp攻击的方法,大家可以学习一下. 高手用的是fedora core 6,先把几个镜像文件挂上,用关键字 arp 一搜,就搜到了arptables,和arpwatcher 首先是arpwatcher了,它好像只能监控本机ip/arp地址的改变之类的,好像不能防止arp攻击. 再一看arptables,立马想到了

firefox插件-求助Linux下的Firefox插件开发方法

问题描述 求助Linux下的Firefox插件开发方法 最近有个项目要实现客户端打印二维码,客户端是中标麒麟国产操作系统,没有现成的浏览器插件,只能自己开发浏览器插件,Linux下的如何开发,小弟不才尚不能搞定,望路过的高手,有过该经历或者知道些的,不吝赐教.谢谢 解决方案 https://developer.mozilla.org/en/docs/Building_an_Extension

Linux下 rpm 命令查询方法_linux shell

[root@wang /]# rpm -qa // 查看安装所有包 [root@wang /]# rpm -qa |grep vim // 查询所安装的包 +包名 [root@wang /]# rpm -qi libattr-devel //查询包的安装信息 Name : libattr-devel Relocations: (not relocatable) Version : 2.4.44 Vendor: CentOS Release : 7.el6 Build Date: 2011年09月

linux下执行shell命令方法简介_linux shell

linux下执行shell命令有两种方法  在当前shell中执行shell命令 在当前shell中产生一个subshell,在subshell中执行shell命令  1.在当前shell中执行shell命令 主要就是在命令行中通过交互方式方式直接输入shell命令,命令行直接执行给出结果.比如这样: 2.在当前shell中产生一个subshell,在subshell中执行shell命令 比如我们把shell写成shell脚本的方式来运行,这个时候会先启动一个subshell来代替当前的shel

Linux下重启apache的方法

Linux系统为Ubuntu 一.Start Apache 2 Server /启动apache服务 # /etc/init.d/apache2 start or $ sudo /etc/init.d/apache2 start 二. Restart Apache 2 Server /重启apache服务 # /etc/init.d/apache2 restart or $ sudo /etc/init.d/apache2 restart 三.Stop Apache 2 Server /停止ap

Linux下压缩/解压方法大全

  linux下压缩包格式繁多,并且在命令行下没有Windows下使用那么方便,有时候解压文件的时候会突然忘掉命令,这里fcbu.com为大家收集了基本所有文件格式的解压方法和打包命令.需要的可以参考一下: .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar只是打包,没有经过压缩的!) --------------- .gz 解压1:gunzip FileName.gz 解压2:gzip -d FileName.