用Python 实现的目录拷贝程序

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
用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();  

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:ZXing 二维码解析生成工具类

下一篇:图像处理Java工具类