用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();  

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/8037.html

(0)
上一篇 2021年7月18日
下一篇 2021年7月18日

相关推荐

发表回复

登录后才能评论