对Python _取log的几种方式小结


Posted in Python onJuly 25, 2019

1. 使用.logfile 方法

#!/usr/bin/env python
import pexpect
import sys
host="146.11.85.xxx"
user="inteuser"
password="xxxx"
command="ls -l"
child = pexpect.spawn('ssh -l %s %s %s'%(user, host, command))
child.expect('password:')
child.sendline(password)
childlog = open('promp.log',"ab") #文件属性必须为二进制写+,否则会报错
child.logfile = childlog
child.expect(pexpect.EOF)#如果子进程结束了,你再去child.expect(pattern)会报EOF错误,模块提供了一种方法,child.expect(pexpect.EOF),不会报错,如果子进程结束了返回0
childlog.close()

2.改变标准输出sys.stdout的输出对象,将log print到文件

#!/usr/bin/env python
import pexpect
import sys
host="146.11.85.xxx"
user="inteuser"
password="xxxx"
command="ls -l"
child = pexpect.spawn('ssh -l %s %s %s'%(user, host, command))
child.expect('password:')
child.sendline(password)
__console__ = sys.stdout #备份当前的标准输出到命令行
childlog = open('promp.log',"w") #这里文件属性不能为二进制,否则报错TypeError: a bytes-like object is required, not 'str'
sys.stdout = childlog   #将childlog设为标准输出的对像
child.expect(pexpect.EOF)
print(child.before.decode()) #这里使用decode()函数,将输出的目录信息格式化
#child.before 这个值包含文本从头一直到匹配的位置 
childlog.close()
sys.stdout = __console__  #还原标准输出对象为命令行

以上这篇对Python _取log的几种方式小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
利用Psyco提升Python运行速度
Dec 24 Python
Python发送email的3种方法
Apr 28 Python
Python功能键的读取方法
May 28 Python
使用相同的Apache实例来运行Django和Media文件
Jul 22 Python
详解Python中的静态方法与类成员方法
Feb 28 Python
python实现用户答题功能
Jan 17 Python
Python基于pandas实现json格式转换成dataframe的方法
Jun 22 Python
Django 重写用户模型的实现
Jul 29 Python
Python 经典算法100及解析(小结)
Sep 13 Python
pytorch快速搭建神经网络_Sequential操作
Jun 17 Python
matplotlib部件之套索Lasso的使用
Feb 24 Python
基于tensorflow权重文件的解读
May 26 Python
django 中的聚合函数,分组函数,F 查询,Q查询
Jul 25 #Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
Jul 25 #Python
python2 中 unicode 和 str 之间的转换及与python3 str 的区别
Jul 25 #Python
Python 3.8 新功能全解
Jul 25 #Python
python3.7 的新特性详解
Jul 25 #Python
python issubclass 和 isinstance函数
Jul 25 #Python
django的分页器Paginator 从django中导入类
Jul 25 #Python
You might like
PHP mb_convert_encoding文字编码的转换函数介绍
2011/11/10 PHP
教你如何使用php session
2013/10/28 PHP
php+ajax 文件上传代码实例
2019/03/18 PHP
PHP反射原理与用法深入分析
2019/09/28 PHP
javascript 不间断的图片滚动并可点击
2010/01/15 Javascript
MultiSelect左右选择控件的设计与实现介绍
2013/06/08 Javascript
js中的数组Array定义与sort方法使用示例
2013/08/29 Javascript
jquery和雅虎的yql服务实现天气预报服务示例
2014/02/08 Javascript
JQuery对表格进行操作的常用技巧总结
2014/04/23 Javascript
JavaScript中输出标签的方法
2014/08/27 Javascript
JS实现支持多选的遍历下拉列表代码
2015/08/20 Javascript
一个php+js实时显示时间问题
2015/10/12 Javascript
js老生常谈之this,constructor ,prototype全面解析
2016/04/05 Javascript
Javascript简写条件语句(推荐)
2016/06/12 Javascript
Vuejs入门教程之Vue生命周期,数据,手动挂载,指令,过滤器
2017/04/19 Javascript
Vuex和前端缓存的整合策略详解
2017/05/09 Javascript
easyui简介_动力节点Java学院整理
2017/07/14 Javascript
jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法
2019/01/18 jQuery
浅谈KOA2 Restful方式路由初探
2019/03/14 Javascript
Python实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
2014/06/04 Python
跟老齐学Python之玩转字符串(1)
2014/09/14 Python
基于循环神经网络(RNN)实现影评情感分类
2018/03/26 Python
Pycharm设置去除显示的波浪线方法
2018/10/28 Python
python+selenium实现自动抢票功能实例代码
2018/11/23 Python
在windows下使用python进行串口通讯的方法
2019/07/02 Python
python在linux环境下安装skimage的示例代码
2020/10/14 Python
python Matplotlib基础--如何添加文本和标注
2021/01/26 Python
详解WebSocket跨域问题解决
2018/08/06 HTML / CSS
香港时尚女装购物网站:ZAFUL
2017/07/19 全球购物
写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数
2016/04/13 面试题
幼儿教师自我鉴定
2013/11/02 职场文书
专科文秘应届生求职信
2013/11/18 职场文书
搞笑的爱情检讨书
2014/10/01 职场文书
党员个人批评与自我批评
2014/10/14 职场文书
《你在为谁工作》心得体会(共8篇)
2016/01/20 职场文书
解析MySQL binlog
2021/06/11 MySQL