python创建文件备份的脚本


Posted in Python onSeptember 11, 2018

制作文件备份

打开原文件

old_f_name = input(“请输入备份的文件路径:”) 
old_f = open(old_f_name, “r”)

打开新文件

new_f_name = “[复件]” + old_f_name 
 123.txt -> 123[复件].txt 123 + “[复件]” + .txt 
 index = old_f_name.rfind(“.”) # 获取.对应的后缀 
if index >= 0: # 如果有后缀 
new_f_name = old_f_name[:index] + “[复件]” + old_f_name[index:] 
 else: # 如果没有后缀 
new_f_name = old_f_name + “[复件]” 
new_f = open(new_f_name, “w”)

读取原文件内容

content = old_f.read()

写入到新文件中

new_f.write(content)

关闭原文件

old_f.close()

关闭新文件

new_f.close()

补充:下面看下python文件备份脚本

import os
import time
source = ['D:\\MyDrivers\hotfix']  #这里可以用自然字符串表示r',因为windows下的分隔符
与python的有冲突,所以需要转义字符\
# 2. 备份文件到目标路径
target_dir = 'F:\\DMDownLoad\\' #这里的末尾一定不要丢分隔符,否者创建的文件会在F:目录下,
而不会在DMDownload目录下
# 3. The files are backed up into a zip file.
# 4. The current day is the name of the subdirectory in the main directory
today = target_dir + time.strftime('%Y%m%d') #time.strftime表示对当前时间的调用,括号内为参数设定
# The current time is the name of the zip archive
now = time.strftime('%H%M%S')
# Take a comment from the user to create the name of the zip file
comment = raw_input('Enter a comment -->')
if len(comment)==0: 
  target = today+os.sep+now+'.zip' 
#os.sep表示目录符号,windows下是\\,linux下是/,mac下是:,这里为了保证移植性,
所以os.sep会根据系统给出分隔符
else:
  target = today+os.sep+now+'_'+\
       comment.replace(' ','_')+'.zip'
  # Notice the backslash!
# Create the subdirectory if it isn't already there
if not os.path.exists(today):
  os.mkdir(today) # make directory
  print('Successfully created directory', today)
# 5. 用winrar的rar命令压缩文件,但首先要安装有winrar且设置winrar到环境变量的路径path中
zip_command = "rar a %s %s" %(target,''.join(source))
#这行命令之前的所有target  、target_dir、today这些都是字符串,只有在
这个命令和os.makedir中才是真正的表示路径
# Run the backup
#设置winrar到path环境中,这里已经手动添加了,如果没有去掉#号
#os.system('set Path=%Path%;C:\Program Files\WinRAR')
if os.system(zip_command)==0:
  print'Successful backup to', target
else:
  print'Backup FAILED'

总结

以上所述是小编给大家介绍的python创建文件备份的脚本,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
python基础教程之python消息摘要算法使用示例
Feb 10 Python
深入理解Python中的元类(metaclass)
Feb 14 Python
初步探究Python程序的执行原理
Apr 11 Python
详解Python编程中time模块的使用
Nov 20 Python
python 排序算法总结及实例详解
Sep 28 Python
你所不知道的Python奇技淫巧13招【实用】
Dec 14 Python
pygame游戏之旅 计算游戏中躲过的障碍数量
Nov 20 Python
python实现简单flappy bird
Dec 24 Python
python pillow模块使用方法详解
Aug 30 Python
Python 解码Base64 得到码流格式文本实例
Jan 09 Python
python数据库编程 Mysql实现通讯录
Mar 27 Python
使用pandas生成/读取csv文件的方法实例
Jul 09 Python
python实现飞机大战
Sep 11 #Python
pygame实现简易飞机大战
Sep 11 #Python
python实现飞机大战微信小游戏
Mar 21 #Python
python实现微信小程序自动回复
Sep 10 #Python
python中map的基本用法示例
Sep 10 #Python
python2 与 pyhton3的输入语句写法小结
Sep 10 #Python
django DRF图片路径问题的解决方法
Sep 10 #Python
You might like
php 面向对象的一个例子
2011/04/12 PHP
百度地图API应用之获取用户的具体位置
2014/06/10 PHP
php创建桌面快捷方式实现方法
2015/12/31 PHP
PHP bin2hex()函数基础实例讲解
2019/02/11 PHP
判断JavaScript对象是否可用的最正确方法分析
2008/10/03 Javascript
JS类的封装及实现代码
2009/12/02 Javascript
jQuery弹出层始终垂直居中相对于屏幕或当前窗口
2013/04/01 Javascript
使用javascript实现雪花飘落的效果
2015/01/13 Javascript
jquery插件jquery.nicescroll实现图片无滚动条左右拖拽的方法
2015/08/10 Javascript
Dojo获取下拉框的文本和值实例代码
2016/05/27 Javascript
jQuery Easyui使用(一)之可折叠面板的布局手风琴菜单
2016/08/17 Javascript
PHP抓取HTTPS内容和错误处理的方法
2016/09/30 Javascript
微信js-sdk上传与下载图片接口用法示例
2016/10/12 Javascript
深入理解javascript中concat方法
2016/12/12 Javascript
Ajax高级笔记 JavaScript高级程序设计笔记
2017/06/22 Javascript
Vue拖拽组件列表实现动态页面配置功能
2019/06/17 Javascript
微信小程序实现分页加载效果
2020/11/19 Javascript
[01:04:30]Fnatic vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python入门篇之文件
2014/10/20 Python
Python Queue模块详解
2014/11/30 Python
Python多层嵌套list的递归处理方法(推荐)
2016/06/08 Python
python装饰器深入学习
2018/04/06 Python
Python解析并读取PDF文件内容的方法
2018/05/08 Python
python散点图实例之随机漫步
2018/08/27 Python
10 行Python 代码实现 AI 目标检测技术【推荐】
2019/06/14 Python
Python中的Cookie模块如何使用
2020/06/04 Python
套娃式文件夹如何通过Python批量处理
2020/08/23 Python
表单button的outline在firefox浏览器下的问题
2012/12/24 HTML / CSS
电厂厂长岗位职责
2014/01/02 职场文书
会议主持词
2014/03/17 职场文书
班级读书活动总结
2014/06/30 职场文书
查摆问题整改措施
2014/10/24 职场文书
情人节活动总结范文
2015/02/05 职场文书
中标通知书
2015/04/17 职场文书
Spring Boot 排除某个类加载注入IOC的操作
2021/08/02 Java/Android
SpringBoot Http远程调用的方法
2022/08/14 Java/Android