python程序怎么打包(Python 实现文件打包、上传与校验的方法)
类别:脚本大全 浏览量:2163
时间:2022-03-29 10:33:14 python程序怎么打包
Python 实现文件打包、上传与校验的方法不多说,我们直接上源码:
|
# -*- coding:UTF-8 -*- ''' 实现文件打包、上传与校验 Created on 2018年1月12日 @author: liuyazhuang ''' from fabric.api import * from fabric.context_managers import * from fabric.contrib.console import confirm env.user = 'root' env.hosts = [ '10.2.2.2' ] env.password = 'cardio-2017' @task @runs_once def tar_task(): #本地打包任务函数,只限执行一次 with lcd( "/data/logs" ): local( "tar -czf access.tar.gz access.log" ) @task def put_task(): #上传文件任务函数 run( "mkdir -p /nginx/logs" ) with cd( "/nginx/logs" ): #put(上传操作)出现异常时,继续执行,非终止 with settings(warn_only = True ): result = put( "/data/logs/access.tar.gz" , "/nginx/logs/access.tar.gz" ) if result.failed and not confirm( "put file failed, Contiunue[Y/N]?" ): #出现异常时,确认用户是否继续,(Y继续) abort( "Aborting file put task!" ) @task def check_task(): #校验文件任务函数 with settings(warn_only = True ): #本地local命令需要配置capture=True才能捕获返回值 lmd5 = local( "md5sum /data/logs/access.tar.gz" , capture = True ).split( ' ' )[ 0 ] rmd5 = run( "md5sum /nginx/logs/access.tar.gz" ).split( ' ' )[ 0 ] #对比本地与远程文件的md5信息 if lmd5 = = rmd5: print "OK" ; else : print "ERROR" @task def execute(): #统一执行tar_task()、put_task()、check_task() tar_task() put_task() check_task() |
本实例分别定义了3个功能函数,实现了文件的打包、上传和校验的功能,且3个功能相互独立,可分开运行
|
fab - f file_handler.py tar_task #文件打包操作 fab - f file_handler.py put_task #文件上传操作 fab - f file_handler.py check_task #文件校验操作 |
也可以通过以下命令组合在一起运行
|
fab - f file_handler.py execute |
以上这篇Python 实现文件打包、上传与校验的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。
原文链接:https://blog.csdn.net/l1028386804/article/details/79042656
您可能感兴趣
- python3.7.0使用方法(Python3.5模块的定义、导入、优化操作图文详解)
- python怎么设置matlab编程(实例详解Matlab 与 Python 的区别)
- python3正则表达式详解(Python正则表达式和re库知识点总结)
- pythonpick教程(Python使用Pickle模块进行数据保存和读取的讲解)
- ubuntu python3.7安装(详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本)
- pythonexcel报表实例(对python生成业务报表的实例详解)
- python正则表达式处理教学(使用Python正则表达式操作文本数据的方法)
- python3.9.1如何安装模块(Python3.6中Twisted模块安装的问题与解决)
- python中列表remove的用法汇总(对python_discover方法遍历所有执行的用例详解)
- python栈和队列(Python 实现数据结构中的栈队列)
- python用于机器人(python机器人运动范围问题的解答)
- python中numpy常用函数(使用Python的SymPy库解决数学运算问题的方法)
- python搭建django框架(详解Python网络框架Django和Scrapy安装指南)
- python itchat库介绍(Python利用itchat库向好友或者公众号发消息的实例)
- 列表重复数据怎么删除python(Python实现的删除重复文件或图片功能示例去重)
- python中的eval函数的用法(Python eval的常见错误封装及利用原理详解)
- 泪目 这位 刷屏 的英雄,是全椒人的骄傲(泪目这位刷屏)
- 人从众 火炎焱 全椒再现 正月十六走太平 的魅力(人从众火炎焱全椒再现)
- 官宣 全椒籍明星许海峰 奚秀兰 方芳 王璐瑶携手回家 走太平(全椒籍明星许海峰)
- 以前全椒人是怎么过冬的 满满都是回忆(以前全椒人是怎么过冬的)
- NVIDIA显卡份额冲上88 A饭发愁 游戏优化恐没A卡份了(NVIDIA显卡份额冲上88A饭发愁)
- AMD YES A卡还是N卡 A卡和N卡的区别(AMDYESA卡还是N卡)
热门推荐
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9