• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python备份目录及目录下的全部内容的实现方法

Python备份目录及目录下的全部内容的实现方法

作者:jingxian 字体:[增加 减小] 来源:互联网

jingxian 通过本文主要向大家介绍了python备份,python 备份文件,python备份脚本,python 创建目录,python 删除目录等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本来是想写一个东西可以直接调用TortoiseSVN保存当前代码到一个分枝下的。

可惜调用SVN的部分还在研究。就先写了目录拷贝的部分。

如果有喜欢研究Python的童鞋愿意提供想法或者建议的话,

这里先谢谢了。 :)

就目录拷贝的部分,思想很简单。读配置文件中的配置信息。

生成一个项目名称加日期时间组成的文件夹名为分枝名称。把当前项目下的全部内容

拷贝到这个目录下。

然后要做的研究就是调用TortoiseSVN命令嵌入这部分代码。

现在看代码:

1. 读取配置文件

配置文件很简单。用的就是txt文件。 格式类似于:

# root:/Users/lichallenger/test_src/
# project:test
# destination:/Users/lichallenger/test_dst/
</div>

BTW: 我用的是Mac所以目录格式是这样的。如果你用的是Windows的话请适

当修改配置文件。

读文件就是最简单的了。直接用标准库的文件操作模块打开文件,读出全部的配置。一共就三行,所以

也不用考虑效率什么的了。

# open config file and read config information
# author: bruce li

class ConfigHandler(object):
  #
  def __init__(self,config_path):
    '''initializer'''
    self.config_path = config_path
  
  #read config infor
  def read_config(self):
    f = open(self.config_path)

    try:
      self.all_lines = f.readlines()
    except:
      raise  
    else: 

 f.close() 
</div>

2. 拷贝目录和目录内容

拷贝目录用了shutil模块。里面有个方法可以直接把目录和目录下的全部内容拷贝到制定的其他目录。

这样就省得搞目录遍历之类的代码了。 

# copy dir(s) & file(s) to configured path
# author: bruce li

import shutil

class CopyHandler(object):
  #
  def __init__(self,src_path,dest_path):
    self.src_path = src_path
    self.dest_path = dest_path

  def move_content(self):
    try:
      shutil.copytree(self.src_path,self.dest_path)
    except:
      raise  

  @staticmethod
  def  move_src_content(src, dest):
    try:
      shutil.copytree(src_path,dest_path)
    except:
      raise
</div>

3. 综合调用

这里用了time模块获取当前时间,然后生成目标文件夹名称的一部分。 

外界给python传的系统参数的第一个是文件名。这个文件就相当于C#项目里的Program文件一样,

</div>

里面会包含一个main函数。虽然这个函数不一定要命名为main。 

还有注意下,Python代码的换行符为\。 

 # main of dir copy function

import sys
import time
from code_bk_cpy import *
from code_bk_config import *

#print __name__

def main():
  config_path = sys.argv[1]
  
  # check if path of configuration path is empty
  if (not config_path):
    print 'configuration information is needed'
    return -1   

  config_handler = ConfigHandler(config_path)
  config_handler.read_config()
  config_list = config_handler.all_lines

  if len(config_list) != 3:
    print 'configuration information is not correct'
    return -1
  
  # set source
  sep = ':'
  current_datetime = time.localtime(time.time())
  root_path = config_list[0].split(sep)[1]
  prj_name = config_list[1].split(sep)[1]
  dst_path = config_list[2].split(sep)[1]

  root_path = (root_path + prj_name).replace('\n','')
  prj_folder = prj_name + str(current_datetime.tm_year) + str(current_datetime.tm_mon) + \
str(current_datetime.tm_mday) + str(current_datetime.tm_hour) + \
str(current_datetime.tm_min) + str(current_datetime.tm_sec)

  dst_path = (dst_path + '/' + prj_folder + '/').replace('\n','')

  copy_handler = CopyHandler(root_path,dst_path)
  copy_handler.move_content()

  print 'content moved'


  

# start main function
print __name__
if __name__ == "__main__":
  main()
</div>

有时间我会研究下TortoiseSVN调用那块的东西。估计不会难,就是调用exe传参的问题。

本人初学Python,如有问题敬请指正!谢谢。

以上这篇Python备份目录及目录下的全部内容的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

</div>

您可能想查找下面的文章:

  • Python 备份程序代码实现
  • Python备份目录及目录下的全部内容的实现方法
  • Python实现新浪博客备份的方法
  • Python实现新浪博客备份的方法
  • Python实现网站文件的全备份和差异备份
  • Python实现备份文件实例
  • python备份文件以及mysql数据库的脚本代码
  • python备份文件以及mysql数据库的脚本代码
  • Python备份Mysql脚本
  • python备份文件的脚本

相关文章

  • python文件读写并使用mysql批量插入示例分享(python操作mysql)
  • Linux 发邮件磁盘空间监控(python)
  • 在Python的Django框架中创建和使用模版
  • Django中的“惰性翻译”方法的相关使用
  • python中安装模块包版本冲突问题的解决
  • Django学习笔记之Class-Based-View
  • python实现将内容分行输出
  • Python二分查找详解
  • python实现同时给多个变量赋值的方法
  • python脚本设置超时机制系统时间的方法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • python模块restful使用方法实例
    • Python中os和shutil模块实用方法集锦
    • python之yield表达式学习
    • python中的reduce内建函数使用方法指南
    • Python基于scrapy采集数据时使用代理服务器的方法
    • Python导出DBF文件到Excel的方法
    • 天翼开放平台免费短信验证码接口使用实例
    • Python实现各种排序算法的代码示例总结
    • linux 下实现python多版本安装实践
    • Python实现给qq邮箱发送邮件的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有