[ python ] 小脚本及demo-持续更新
1. 备份文件并进行 md5 验证
需求分析:
根据需求,这是一个流程化处理的事件。 检验拷贝文件是否存在,不存在则执行拷贝,拷贝完成再进行 md5 值的比对,这是典型的面向过程编程;
代码如下:
需要备份的文件和程序在同一目录下:
哪里有彩虹告诉我
能不能把我的愿望还给我
为什么天这么安静
所有的云都跑到我这里
有没有口罩一个给我
释怀说了太多就成真不了
也许时间是一种解药
也是我现在正服下的毒药
看不见你的笑 我怎么睡得着
你的声音这么近我却抱不到
没有地球太阳还是会绕
没有理由我也能自己走
你要离开 我知道很简单
你说依赖 是我们的阻碍
就算放开 但能不能别没收我的爱
当作我最后才明白
有没有口罩一个给我
释怀说了太多就成真不了
也许时间是一种解药
也是我现在正服下的毒药
看不见你的笑 我怎么睡得着
你的声音这么近我却抱不到
没有地球太阳还是会绕
没有理由我也能自己走
你要离开 我知道很简单
你说依赖 是我们的阻碍
就算放开 但能不能别没收我的爱
当作我最后才明白
看不见你的笑 要我怎么睡得着
你的身影这么近我却抱不到
没有地球太阳开始会绕会绕
没有理由我也能自己走掉
释怀说了太多就成真不了
也许时间是一种解药解药
也是我现在正服下的毒药
你要离开 我知道很简单
你说依赖 是我们的阻碍
就算放开 但能不能别没收我的爱
当作我最后才明白
rainbow.txt
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# Author: hkey
import hashlib, os def copy_file(s_file, d_file):
'''
文件拷贝
:param s_file: 拷贝源文件
:param d_file: 拷贝后的目标文件
'''
with open(s_file, 'rb') as f1, open(d_file, 'ab') as f2:
while True:
# 读取大文件的时,不能一次全部读取到内存中,每次读取1024个字节
data = f1.read(1024)
if not data:
break
f2.write(data) def get_file_md5(f):
'''
传入文件句柄,返回文件内容的md5值
:param f: 文件打开的句柄
:return: 文件内容的md5值
'''
md5 = hashlib.md5()
while True:
# 读取大文件的时,不能一次全部读取到内存中,每次读取1024个字节
data = f.read(1024)
if not data:
break
md5.update(data)
return md5.hexdigest() if __name__ == '__main__':
# 判断是否存在备份文件
if 'rainbow_bak.txt' not in os.listdir('.'):
copy_file('rainbow.txt', 'rainbow_bak.txt')
with open('rainbow.txt', 'rb') as f1, open('rainbow_bak.txt', 'rb') as f2:
file1_md5 = get_file_md5(f1)
file2_md5 = get_file_md5(f2)
# print(file1_md5)
# print(file2_md5)
# 当源文件和目标文件md5值不匹配,则备份异常;
if file1_md5 != file2_md5:
print('\033[31;1m文件备份异常!\033[0m')
else:
print('\033[32;1m文件备份完成.\033[0m')
else:
print('\033[33;1m文件备份已存在.\033[0m')
文件备份并校验md5值
[ python ] 小脚本及demo-持续更新的更多相关文章
- 分享几个python小脚本
by 梁凯 今天我想给大家分享几个python脚本,分别是: 1.公司访问外网认证脚本(最初有同事写过,我优化了一下). 2.统计周报系统所有同事的最近一篇周报. 3.统计测试技术分享里指定一个月所有 ...
- python 小脚本升级-- 钉钉群聊天机器人
一则小脚本(工作中用) 在这篇文章中写的监控的脚本,发送监控的时候 是利用的邮箱,其实在实际,邮箱查收有着不方便性,于是乎升级, 我们工作中,经常用钉钉,那么如果要是能用到钉钉多好,这样我们的监控成功 ...
- 分享一个刷网页PV的python小脚本
下面分享一个小脚本,用来刷网页PV. [root@huanqiu ~]# cat www.py #!/usr/bin/python# coding: UTF-8import webbrowser as ...
- C#、Java中的一些小功能点总结(持续更新......)
前言:在项目中,有时候一些小的功能点,总是容易让人忽略,但是这些功能加在项目中往往十分的有用,因此笔者在这里总结项目中遇到的一些实用的小功能点,以备用,并持续更新...... 1.禁用DataGrid ...
- 好用的函数,assert,random.sample,seaborn tsplot, tensorflow.python.platform flags 等,持续更新
python 中好用的函数,random.sample等,持续更新 random.sample random.sample的函数原型为:random.sample(sequence, k),从指定序列 ...
- python小脚本(18-11.10)-修改excle后批量生成,作用:导入数据时,系统做了不能导入重复数据时的限制时使用 -本来是小白,大神勿扰
from testcase.test_mokuai.operation_excle import OperationExcleimport shutil class test_daoru(): #一个 ...
- 第一个python小脚本
第一个python小实验 前言 作为一个工作1年的linux运维搬砖师来说,发现没点开发能力真的是不好混啊.于是下定决心学习python! 直接上刚写的语句(大神莫鄙视) 通过控制台输入一个账号密码, ...
- 短小实用 渗透用的Python小脚本
渗透的很多时候,找到的工具并不适用,自己码代码才是王道,下面三个程序都是渗透时在网络上找不到合适工具,自己辛苦开发的,短小实用. 一.记录root密码小工具 root.py #!/usr/bin/py ...
- 网站渗透常用到的Python小脚本
0×00渗透的很多时候,找到的工具并不适用,自己码代码才是王道,下面三个程序都是渗透时在网络上找不到合适工具,自己辛苦开发的,短小使用,求欣赏,求好评. 0×01记录root密码小工具 root.py ...
随机推荐
- 【题解】CF#983 E-NN country
首先,我们从 u -> v 有一个明显的贪心,即能向上跳的时候尽量向深度最浅的节点跳.这个我们可以用树上倍增来维护.我们可以认为 u 贪心向上跳后不超过 lca 能跳到 u' 的位置, v 跳到 ...
- C++ 类中成员函数分析
概述之前对成员变量的分布进行了整理,今天就对成员函数进行整理. 1.非静态成员函数C++的设计准则之一就是:非静态成员函数至少和一般的非成员函数的执行效率相同. 为了实现上衣准则,编译器会对非静态成员 ...
- 学习操作Mac OS 之 使用brew安装软件
安装brew软件 安装方法: 在Mac中打开Termal: 输入命令: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercont ...
- bzoj4552: [Tjoi2016&Heoi2016]排序(二分+线段树)
又是久违的1A哇... 好喵喵的题!二分a[p],把大于mid的数改为1,小于等于mid的数改为0,变成01串后就可以用线段树进行那一连串排序了,排序后如果p的位置上的数为0,说明答案比mid小,如果 ...
- 【图论】tarjan的离线LCA算法
百度百科 Definition&Solution 对于求树上\(u\)和\(v\)两点的LCA,使用在线倍增可以做到\(O(nlogn)\)的复杂度.在NOIP这种毒瘤卡常比赛中,为了代码的效 ...
- Codeforces Round #514 (Div. 2) C. Sequence Transformation(递归)
C. Sequence Transformation 题目链接:https://codeforces.com/contest/1059/problem/C 题意: 现在有1~n共n个数,然后执行下面操 ...
- Javascript基本代码
简单的了解了javascript 的基本代码,感觉和c#中的语句差不多. <!DOCTYPE html> <html xmlns="http://www.w3.org/19 ...
- SDUT3926 kmp
bLue的二叉树 Time Limit: 3000MS Memory Limit: 65536KB Submit Statistic Problem Description Keke 是一个喜爱种树的 ...
- c# 深拷贝与浅拷贝的区别分析及实例
浅拷贝(影子克隆):只复制对象的基本类型,对象类型,仍属于原来的引用. 深拷贝(深度克隆):不紧复制对象的基本类,同时也复制原对象中的对象.就是说完全是新对象产生的. 深拷贝是指源对象与拷贝对象互相独 ...
- wamp环境介绍
一.简介 Wamp就是 Windows Apache Mysql PHP集成安装环境,即在window下的apache.php和mysql的服务器软件. 二.常用的集成环境 XAMPP - XAMPP ...