设为首页 收藏本站
查看: 538|回复: 0

[经验分享] 用Python 实现的目录拷贝程序

[复制链接]

尚未签到

发表于 2017-5-2 06:02:38 | 显示全部楼层 |阅读模式
  背景:最近自己在做一个项目,由于时间紧,任务重,所以会利用在公司空余的时间去做,由于公司不能访问一些免费的代码管理的网站,所以天天只能用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();




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-371775-1-1.html 上篇帖子: 利用Python获取系统当前时间 . 下篇帖子: 理清 python 编码相关问题(转载)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表