对比两个目录内容,然后拷贝!

#!/usr/bin/python
# -*-coding:utf-8 -*- import os
import sys
import shutil def get_dir_content(dir):
dir_list = []
dir_files = os.listdir(dir)
for dir_file in dir_files:
if not dir_file.startswith('.'):
dir_list.append(dir_file)
return dir_list def compare_dir(dir1, dir2):
parent_dirs = get_dir_content(dir1)
child_dirs = get_dir_content(dir2)
for child_dir in child_dirs:
if os.path.isfile(child_dir):
os.system("cp %s/%s %s" % (dir2, child_dir, dir1))
elif child_dir in parent_dirs:
os.system("cp -r %s/%s/* %s/%s/" % (dir2, child_dir, dir1, child_dir))
else:
os.system("cp -r %s/%s %s/" % (dir2, child_dir, dir1))
return True def help(param="-h"):
if param in ["--help", "-h"]:
print '''
dir_compare.py [parent_dir] [child_dir]
parent_dir is move the following directory
child_dir is move the previous directory
dir_compare.py [-h or --help]
get help
'''
sys.exit()
else:
print "Re-enter the parameter incorrectly"
sys.exit() if __name__ == '__main__':
if len(sys.argv) == 1:
help()
elif len(sys.argv) != 3:
help(sys.argv[1])
else:
compare_dir(sys.argv[1], sys.argv[2])
shutil.rmtree(sys.argv[2])

Linux 两个目录浅对比拷贝的更多相关文章

  1. Linux文件和目录的属性及权限总结

    本文讲述的是文件或目录的属性及权限,比如索引节点inode.文件类型.文件权限及属主:还对setuid.setgid及粘贴位进行了相关的讲解.其中,对ln.chmod.chown.chgrp.umas ...

  2. Linux文件和目录权限实战讲解

    一 相关课程回顾1.1 linux文件类型当执行ls -l或ls -la 命令后显示的结果中最前面的第2~10个字符是用来表示文件权限 第一个字符一般用来区分文件和目录: d:表示是一个目录,事实上在 ...

  3. [转帖]Linux系统/dev/mapper目录浅谈

    Linux系统/dev/mapper目录浅谈   Linux系统的一般的文件系统名称类似于/dev/sda1或/dev/hda1,但是今天在进行系统维护的时候,利用df -h 命令敲出了/dev/ma ...

  4. java、android 对比两个目录或文件是否是同一个目录或文件的方法

    由于软链接及android的外部卡mount方式存在,导致一个文件夹可能同时有两个路径,如: /mnt/sdcard1      /storage/ext_sdcard ,如果通过某种方式(如moun ...

  5. Linux下快速比较两个目录的不同

    曾多次想要在Linux下比较目录a和目录b中文件列表的差别,然后对目录a比目录b中多出的文件.少掉的文件分别做处理.但是,在网上搜索了多次也都没找到能直接处理好的工具. 所以想了很多不少方法,自我感觉 ...

  6. Linux实现ftp账号同时访问两个目录方法

    在做项目时,客户需要FTP同时访问两个目录,要清楚,在建FTP时,都是一个用户对应一个目录,当FTP用户登录后,就只访问当前目录,如果需要访问到其他目录,得另想办法.刚开始以为使用链接可以实现这个功能 ...

  7. Linux rsync 两个目录镜像备份

    rsync安装篇 rsync是一款配置简单,功能全面的安全备份软件,具体的功能介绍可以参考手册.这里和大家分享一下rsync在CentOS下的部署. 1.安装rsync,并通过xinetd管理rsyn ...

  8. Linux应急响应姿势浅谈

    一.前记 无论是甲方还是乙方的同学,应急响应可能都是家常便饭,你可能经常收到如下反馈: 运维同事 --> 服务器上存在可疑进程,系统资源占用高: 网络同事 --> 监控发现某台服务器对外大 ...

  9. linux几种传输方式与拷贝方式的性能分析

    本文记录linux系统中文件传输的多种方式,留作备忘.linux中文件传输的方式有ftp,scp,rsync,rz,sz等,但各个工具的功能又有所区别: FTP : FTP是文件服务器,可实现文件的上 ...

随机推荐

  1. 01-事件处理简介/UIView拖拽

    1.ios当中常见的事件?         触摸事件        加速计事件         远程控制事件2.什么是响应者对象?     继承了UIResponds的对象我们称它为响应者对象 UIA ...

  2. Kung fu

    1. originPeople in Primitive society(原始社会)in order to survive,they have to hunt for food efficiently ...

  3. android softinput 相关

    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN | WindowManager.Layo ...

  4. win8或win8.1修改注册表失败的原因

    win8 and win8.1 modify the registry need compiled to be different versions according to the os bits.

  5. 慕课网-安卓工程师初养成-2-1 Java中的关键字

    来源:http://www.imooc.com/code/1176 Java 中常用关键字: 问:这么多,记不住啊......-_-|| 答:现在不需要你记住所有,混个眼熟即可,在学习的过程中,你会逐 ...

  6. 解决在 MVC  局部视图中加载 ueditor 编辑器时, 编辑器加载不出的 bug

    在 MVC 局部视图中,有时我们需要 加载 ueditor 编辑器,或进行局部刷新, 但是在加载局部视图后,ueditor 编辑器加载不出,这是由于 ueditor 使用的缓存,只要清空缓存,重新实例 ...

  7. python常见环境安装

    pyinotify安装git clone https://github.com/seb-m/pyinotify.gitcd pyinotify/python setup.py install 安装py ...

  8. 非常不错的IT进阶站点

    1:CSDN http://www.csdn.net/ 2:Iteye http://www.iteye.com 3:拼吾爱 http://pin5i.com 4:月光博客 http://www.wi ...

  9. SVN中文件属性

    从SVN中checkout代码,然后设置crontab 定时执行脚本,发现permission denied 查看发现脚本没有可执行权限 但是,之前项目中的代码是有该权限的,于是猜想应该可以对SVN中 ...

  10. dedecms代码研究一

    dedecms相信大家一定都知道这个cms系统,功能比较强大,有比较完善的内容发布,还有内容静态化系统,还有就是它有自己独特的标签系统和模板系统.而模板系统也是其他cms系统比较难模仿的的东西,这个东 ...