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
您可能感兴趣
- python字符串找一个最大字符(Python查找最长不包含重复字符的子字符串算法示例)
- python的基础数据结构有哪些(详解python的四种内置数据结构)
- python 时间戳转化为格式(Python datetime和unix时间戳之间相互转换的讲解)
- 如何用python做一个弹窗(python实现弹窗祝福效果)
- python散点图(python scatter散点图用循环分类法加图例)
- ipython命令行查看文件夹(对IPython交互模式下的退出方法详解)
- knn算法详细步骤(Python实现KNNK-近邻算法的示例代码)
- python实现栈和队列(Python利用heapq实现一个优先级队列的方法)
- python异常信息处理(Python使用修饰器进行异常日志记录操作示例)
- python撤回的微信消息怎么看(Python实现微信消息防撤回功能的实例代码)
- java入坑rabbitmq(Python操作rabbitMQ的示例代码)
- python列表中的数组(Python3.4学习笔记之列表、数组操作示例)
- python 常用模块函数(Python OOP类中的几种函数或方法总结)
- python3有哪些内置模块(Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析)
- python数组矩阵操作(Python矩阵和Numpy数组的那些事儿)
- python多进程创建细节(Python实现多进程的四种方式)
- 中秋节买啤酒,预算超过7元试试这8种啤酒,麦香浓郁都是真啤酒(预算超过7元试试这8种啤酒)
- CellPress旗下的6 期刊,国人友刊来了解一下吧(CellPress旗下的6期刊国人友刊来了解一下吧)
- ()
- SCI检索 SSCI检索 EI检索 ISTP检索 CSCD检索简介(SCI检索SSCI检索EI检索)
- 参考文献里期刊名称的写法,你知道吗(参考文献里期刊名称的写法)
- 硕博期刊 SCI SSCI CSSCI分不清 一文带你看懂主流期刊分类(硕博期刊SCISSCI)
热门推荐
- vue点击导航进行内容切换(vue实现顶部左右滑动导航)
- nginx跳转规则配置上下文(基于nginx实现上游服务器动态自动上下线无需reload的实现方法)
- mysql怎么和sqlyog连接(Mysql桌面工具之SQLyog资源及激活使用方法告别黑白命令行)
- 安装laravel框架(laravel框架的安装与路由实例分析)
- laravel 开发自定义组件(laravel框架模板之公共模板、继承、包含实现方法分析)
- php各种绕过姿势(php面试实现反射注入的详细方法)
- php判断类的属性的修饰(PHP whois查询类定义与用法示例)
- docker进入容器的方法(docker容器里面的root权限获取方法)
- pytorch入门与实战(详解PyTorch基本操作)
- python写的工具(python调用虹软2.0第三版的具体使用)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9