备份目录/文件

import zipfile
import os,datetime class beifen(object):
def __init__(self,files,new_files,compression=zipfile.ZIP_DEFLATED):
self.files = files
self.new_files = new_files
self.mode = ''
self.compression=compression
self.blo = self.has_file()
self.zhuluoji() def has_file(self):
if not os.path.exists(self.files):
raise EOFError("原文件不存在!")
else:
# print("源文件存在")
if os.path.isdir(self.files):
# print("源文件是目录")
return False
else:
# print("源文件是文件")
return True def has_new_files(self):
if not os.path.exists(self.new_files):
# print("目的地址文件不存在,直接备份")
self.mode = 'w'
else:
# print("目的地址文件存在,追加备份")
self.mode = 'a'
# self.new_files = datetime.datetime.now().strftime('%Y-%m-%d') + "-" +self.new_files+ '.zip'
dirname = os.path.dirname(self.new_files)
basename = os.path.basename(self.new_files)
self.new_files = dirname + r'\\' + datetime.datetime.now().strftime('%Y-%m-%d') +" "+ basename +'.zip'
print(self.new_files) def zipfile(self,blo):
with zipfile.ZipFile(self.new_files, self.mode, self.compression) as z:
print("正在执行备份操作.....请稍后.......")
if blo:
z.write(self.files)
else:
for i1,i2,i3 in os.walk(self.files):
for x in i3:
z.write(os.path.join(i1,x))
print("备份成功!") def zhuluoji(self):
self.has_new_files()
if self.blo:
self.zipfile(self.blo)
else:
self.zipfile(self.blo) if __name__=='__main__':
print(r"""
files = 路径\源文件名.文件类型 or 路径\源文件目录;
new_files = 绝对-相对路径\文件名;
""")
files = input("输入源文件路径")
new_files = input("输入目的文件路径")
bf = beifen(r"D:\aaa\JetbrainsCrack-2.8-release-enc.jar",r'D:\bbb\备份')

python - 代码练习 - 备份目录/文件(windos环境)的更多相关文章

  1. python之对指定目录文件夹的批量重命名

    python之对指定目录文件夹的批量重命名 import os,shutil,string dir = "/Users/lee0oo0/Documents/python/test" ...

  2. Python +crontab定时备份目录发送邮件

    公司有一台静态页面展示服务器仅供给客户展示我们做的项目,当时买的时候是最低配,也就是磁盘空间为20G的系统盘,考虑到代码量很小所以没有另加磁盘,后来项目多了,就写了个crontab 定时备份目录. 就 ...

  3. 忘带U盘了??别急!一行python代码即可搞定文件传输

    近日发现了python一个很有趣的功能,今天在这里给大伙儿做一下分享 需求前提 1.想要拷贝电脑的文件到另一台电脑但是又没有U盘2.手机上想获取到存储在电脑的文件3.忘带U盘- 您也太丢三落四了吧,但 ...

  4. python打开一个本地目录文件路径

    os.path.abspath()os 模块为 python 语言标准库中的 os 模块包含普遍的操作系统功能.主要用于操作本地目录文件.path.abspath()方法用于获取当前路径下的文件. 比 ...

  5. 如何在创建hive表格的python代码中导入外部文件

    业务场景大概是这样的,我要对用户博文进行分词(这个步骤可以看这篇文章如何在hive调用python的时候使用第三方不存在的库-how to use external python library in ...

  6. vi,etc目录文件,环境变量,别名功能

      1 vi命令使用技巧补充 1.1 如何快速编辑文本内容 yy ---快速复制文件内容 3yy ---复制三行内容 p ---快速粘贴文本内容 3p ---粘贴三行内容 dd ---快速删除文件内容 ...

  7. win7下用PyInstaller把Python代码打包成exe文件

    2013-11-05 22:02:14|   1.安装 使用PyInstaller需要安装PyWin32. 下载与Python对应的PyInstaller版本,解压后就算安装好了. 例如,安装了PyI ...

  8. python代码打包成exe文件

    1.准备工作 1.安装pywin32.pyinstaller 2.准备好ico文件 找一个png格式的图片,使用png2ico脚本生成包含以下6个尺寸的ico文件:128×128 64×64 48×4 ...

  9. 【python】引用其他目录文件

    假设有 目录/A(a.py), 目录/B(b.py), 括号里是目录中的文件 在目录/A中编写a2.py,里面可以import a,但是不能import b 解决方法 import sys sys.p ...

随机推荐

  1. gradle下载jar包

    使用IntelliJ IDEA+gradle的时候,有时用到的是公司的jar包,如果在外面就无法访问仓库,因此试着下载所需要的jar包到电脑上.然后发现原来gradle已经缓存到本地上了,可用如下方式 ...

  2. callee和斐波那契数列

    如果一对兔子每月生一对兔子:一对新生兔,从第二个月起就开始生兔子:假定每对兔子都是一雌一雄,试问一对兔子,第n个月能繁殖成多少对兔子? ———————————————————————————————— ...

  3. POJ 3352 Road Construction ; POJ 3177 Redundant Paths (双联通)

    这两题好像是一样的,就是3177要去掉重边. 但是为什么要去重边呢??????我认为如果有重边的话,应该也要考虑在内才是. 这两题我用了求割边,在去掉割边,用DFS缩点. 有大神说用Tarjan,不过 ...

  4. 快速入门Splay

    \(splay\) :伸展树(\(Splay Tree\)),也叫分裂树,是一种二叉排序树,它能在\(O(log n)\)内完成插入.查找和删除操作.它由\(Daniel Sleator\)和\(Ro ...

  5. (线性dp,LCS) POJ 1458 Common Subsequence

    Common Subsequence Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 65333   Accepted: 27 ...

  6. 解决docker多开mysql报错问题

    1.vim /etc/sysctl.conf fs.aio-max-nr=262144 重新加载 sysctl -p /etc/sysctl.conf

  7. 关于Tcpdump抓包总结

    一.简介 tcpdump是一个用于截取网络分组,并输出分组内容的工具.凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具 tcpdump提供了源代码,公开了接口, ...

  8. python自动化开发-[第八天]-面向对象高级篇与网络编程

    今日概要: 一.面向对象进阶 1.isinstance(obj,cls)和issubclass(sub,super) 2.__setattr__,__getattr__,__delattr__ 3.二 ...

  9. springcloud学习笔记

    一.什么是springcloud,有什么作用 Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.消 ...

  10. 分析JVM GC Dump 工具

    GC 日志分析工具: http://gceasy.io/ JVM Dump 文件分析工具: IBM HeapAnalyzer