- 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();
来源: http://www.phpxs.com/code/1004954/