`
从此醉
  • 浏览: 1050126 次
  • 性别: Icon_minigender_1
  • 来自: US
社区版块
存档分类
最新评论

用Python 实现的目录拷贝程序

 
阅读更多

背景:最近自己在做一个项目,由于时间紧,任务重,所以会利用在公司空余的时间去做,由于公司不能访问一些免费的代码管理的网站,所以天天只能用u盘来回的拷贝在公司和家里做的修改,随着文件的慢慢增加,拷贝的时间也越来越长,而且拷贝的时候会浪费很多的时间拷贝class文件,正好最近在学习python,所以用python写了个小程序,可以用这个程序在固定的目录之间来回的拷贝.

程序如下:

'''
copy one directory to another directory

@author: 
'''
import os;
import shutil, errno;
import ctypes;
import itertools;
import string;
import platform;

_home = "E:\sourcecode";
home_disk = "K:\FTS_HOME";
office = "D:\sourcecode\FTS";
office_disk = "E:\FTS_HOME";

other_source = "D:\\pythontest\\source";
other_target = "D:\\pythontest\\target";

FILES_DIRECTORY_LIST = ["ForeignTradeFront\src", "ForeignTradeFront\WebContent", "ForeignTradeServer\ejbModule", "ForeignTradeServer\TestSrc"];


def copyFiles():
    directory = input("how to copy files? \n\
copy to office(1), \n\
copy to office removable driver(2),\n\
copy to _home(3),\n\
copy to _home removable driver(4);\n\
other(5)");
    
    if directory == "1":
        executeCopyFiles(office_disk, office);
    elif directory == "2":
        executeCopyFiles(office, office_disk);
    elif directory == "3":
        executeCopyFiles(home_disk, _home);
    elif directory == "4":
        executeCopyFiles(_home, home_disk);
    elif directory == "5":
        executeCopyFiles(other_source, other_target);
        
  
def executeCopyFiles(sourceDirectory, targetDirectory):
    copyConfirm = input("Are you sure want copy" + sourceDirectory + " to " + targetDirectory + "?(Y/N)");
    if copyConfirm == "Y":
        if os.path.isdir(sourceDirectory) and  os.path.isdir(targetDirectory):
            for update_directory in FILES_DIRECTORY_LIST:
                newSourceDirectory = generateUpdatePath(sourceDirectory, update_directory) ;
                newTargetDirectory = generateUpdatePath(targetDirectory, update_directory) ;
                deleteOldTargetDirectory(newTargetDirectory);
                copyanything(newSourceDirectory, newTargetDirectory);
        else:
            print("Please input a directionary path!");
    else:
        print("Cancellation copy file!");
        
def generateUpdatePath(originalPath, updatePath):
    return os.path.join(originalPath, updatePath);

def deleteOldTargetDirectory(targetDirectory):
    print(targetDirectory + " was removed!");
    shutil.rmtree(targetDirectory, True);
      
def copyanything(src, dst):
    try:
        if(os.path.exists(dst)):
            shutil.rmtree(dst, False);
        shutil.copytree(src, dst)
        print(dst + " copy successful");
    except OSError as exc: # python >2.5
        if exc.errno == errno.ENOTDIR:
            shutil.copy(src, dst)
        else: raise

if __name__ == '__main__':
    copyFiles();


分享到:
评论

相关推荐

    Python:pyinstaller库实现打包代码拷贝到另一台无python环境电脑上运行(csdn)————程序.p.pdf

    Python:pyinstaller库实现打包代码拷贝到另一台无python环境电脑上运行(csdn)————程序.p

    python Pexpect 实现输密码 scp 拷贝的方法

    在服务器A上的程序用到服务器B上的文件data,并且需要定期更新文件。...最后考虑使用python实现。 环境: python2.7 centos from pexpect import * import os cwd = os.path.split(os.path.abspath(__

    Python3 实现 甜橙音乐网程序

    Python3 实现 甜橙音乐网程序 甜橙音乐网配置使用说明 创建MySQL数据库 (1)启动MySQL数据库。 (2)打开Navicat for MySQL,创建数据库,名为music。 拷贝项目 将“code\”目录下的OnLineMusic文件夹整体拷贝到...

    python数组复制拷贝的实现方法

    本文实例讲述了python数组复制拷贝的实现方法。分享给大家供大家参考。具体分析如下: python中直接通过等号赋值实际上只是引用地址的传递 如: a = [1,2,3,4,5] b=a 当a的值改变时,b的值也会随之改变 如果希望b...

    python实现复制整个目录的方法

    本文实例讲述了python实现复制整个目录的方法。分享给大家供大家参考。具体分析如下: python有一个非常好用的目录操作类库shutil,通过这个库可以很简单的复制整个目录及目录下的文件 import shutil #复制文件 ...

    如何使用Python脚本实现文件拷贝

    这篇文章主要介绍了如何使用Python脚本实现文件拷贝,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.实现目的 统一时间对服务器某文件夹内文件进行备份保存,...

    Python访问Mysql数据库

    公开,可以把部分程序用C 或C++编写,然后在Python 程序 中使用它们。 (7) 可嵌入性 可以把Python 嵌入C/C++程序,从而向程序用户提供脚 本功能。 (8) 丰富的库 Python 标准库确实很庞大。它可以帮助处理各种...

    基于python实现音乐网音乐播放器程序源码

    在甜橙音乐网中,单击顶部的“登录”超链接,将显示登录页面,通过该页面可以实现登录功能,如图7所示;如果还没有注册,则需要先注册成为会员,注册页面如图8所示。 在甜橙音乐网中,管理员可以通过管理员账号登录...

    2019千峰Python超详细入门教程(百度云盘分享).docx

    ├─千锋Python教程:第01章 第一个Python程序与数据存储及数据类型(9集) │ │ .DS_Store │ │ │ ├─code │ │ 1、数据存储.txt │ │ 2、第一个python程序.py │ │ 3、注释.py │ │ 4、输出与输入.py │ ...

    基于python实现音乐网音乐播放器程序源码分享

    在甜橙音乐网中,单击顶部的“登录”超链接,将显示登录页面,通过该页面可以实现登录功能,如图7所示;如果还没有注册,则需要先注册成为会员,注册页面如图8所示。 在甜橙音乐网中,管理员可以通过管理员账号登录...

    Python(面向对象编程语言) v3.4.0.zip

    可扩展性————如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C 编写,然后在你的Python程序中使用它们。 可嵌入性————你可以把Python嵌入你的C/C 程序,从而向你...

    某东试用机器人 python

    用python实现的自动参与某东试用活动的程序,可选择屏蔽关键词 自行登录某东网站,拷贝cookie到代码中,即可使用

    微信小程序-微信小程序的SocketIO客户端

    使用 socket.io 官网的 chat demo server 实现的 小程序版 聊天室应用 使用 “微信开发者工具” 将 weapp_demo 目录打开,运行调试即可 Features 目前已支持 Namespace Singleton Reconnect Build npm run build ...

    Python 核心编程 第二版

    内容简介 本书是经典的Python指导书,在第一版的基础上进行了全面升级。全书分为两个部分:第1部分... 23.3 用Jython写Python和Java的程序   23.4 练习   23.3 用Jython写Python和Java的程序   23.4 练习

    Python中实现变量赋值传递时的引用和拷贝方法

    iamlaosong文 曾经看到这样一个问题,一个...这儿涉及到Python赋值到底是引用还是拷贝一份的问题,即赋值时是传值还是传址。上面问题是将“a”的值赋给了x出现了上述情况,如果是将“b”的值赋给了x,当我们修改x的值时

    Python基础——多进程及进程间通信

    文件中包含文件的拷贝方法,多进程的基础概念,相关函数的用法,队列的先进先出,共享内存等内容。

    使用Python实现从各个子文件夹中复制指定文件的方法

    之前用来整理图片的小程序,拿来备忘,算是使用Python复制文件的一个例子。 # -*- coding: utf-8 -*- #程序用来拷贝文件并输出图片采集日期等其他信息到Excel中 #文件夹结构: #2016_07_07 # -Data_07_07_001 # -...

    Python核心编程第二版

     6.20 *拷贝Python对象、浅拷贝和深拷贝   6.21 序列类型小结   6.22 练习   第7章 映像和集合类型   7.1 映射类型:字典   7.1.1 如何创建字典和给字典赋值   7.1.2 如何访问字典中的值   ...

    Python Cookbook

    3.14 用Python实现的简单加法器 133 3.15 检查信用卡校验和 136 3.16 查看汇率 137 第4章 Python技巧 139 引言 139 4.1 对象拷贝 140 4.2 通过列表推导构建列表 144 4.3 若列表中某元素存在则返回之 146 ...

    e语言-​易语言嵌入python解释器

    易语言调用python可把requests文件及需要的依赖包全部拷贝到当前易语言程序运行目录下再把python-3.6.6-embed-win32.zip全部解压到易语言程序运行目录下即可实现在没有安装Python环境的客户端,利用易语言调用Python...

Global site tag (gtag.js) - Google Analytics