对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 相关文章推荐
Django返回json数据用法示例
Sep 18 Python
python正则分析nginx的访问日志
Jan 17 Python
Python之Web框架Django项目搭建全过程
May 02 Python
Python实现登录接口的示例代码
Jul 21 Python
Python中偏函数用法示例
Jun 07 Python
使用sklearn进行对数据标准化、归一化以及将数据还原的方法
Jul 11 Python
Python实现手写一个类似django的web框架示例
Jul 20 Python
python实现通过flask和前端进行数据收发
Aug 22 Python
python软件都是免费的吗
Jun 18 Python
高考考python编程是真的吗
Jul 20 Python
Python基础之hashlib模块详解
May 06 Python
Python基础之元编程知识总结
May 23 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生成静态HTML速度快类库
2007/03/18 PHP
php+mysql分页代码详解
2008/03/27 PHP
一漂亮的PHP图片验证码实例
2014/03/21 PHP
PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法
2014/12/25 PHP
PHP中使用register_shutdown_function函数截获fatal error示例
2015/04/21 PHP
PHP自定义函数获取URL中一级域名的方法
2016/08/23 PHP
Laravel使用支付宝进行支付的示例代码
2017/08/16 PHP
IE8 兼容性问题(属性名区分大小写)
2009/06/04 Javascript
js 中的switch表达式使用示例
2020/06/03 Javascript
jQuery中val()方法用法实例
2014/12/25 Javascript
jQuery实现锚点scoll效果实例分析
2015/03/10 Javascript
基于JS判断iframe是否加载成功的方法(多种浏览器)
2016/05/13 Javascript
全面解析JavaScript中“&&”和“||”操作符(总结篇)
2016/07/18 Javascript
jQuery实现日期联动效果实例
2016/07/26 Javascript
原生和jQuery的ajax用法详解
2017/01/23 Javascript
走进AngularJs之过滤器(filter)详解
2017/02/17 Javascript
jquery.onoff实现简单的开关按钮功能(推荐)
2018/05/24 jQuery
一篇文章介绍redux、react-redux、redux-saga总结
2019/05/23 Javascript
webpack3升级到webpack4遇到问题总结
2019/09/30 Javascript
Vue切换Tab动态渲染组件的操作
2020/09/21 Javascript
JavaScript实现五子棋小游戏
2020/10/26 Javascript
js实现简易点击切换显示或隐藏
2020/11/29 Javascript
vue 动态生成拓扑图的示例
2021/01/03 Vue.js
浅谈Python Opencv中gamma变换的使用详解
2018/04/02 Python
Python使用一行代码获取上个月是几月
2018/08/30 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
2019/08/06 Python
通过cmd进入python的步骤
2020/06/16 Python
Pytorch实现将模型的所有参数的梯度清0
2020/06/24 Python
纽约复古灵感的现代珠宝品牌:Lulu Frost
2018/03/03 全球购物
北美最大的参茸药食商城:德成行
2020/12/06 全球购物
护士自我鉴定范文
2013/10/06 职场文书
村庄绿化方案
2014/05/07 职场文书
2014班子“三严三实”对照检查材料思想汇报
2014/09/18 职场文书
2014年银行客户经理工作总结
2014/11/12 职场文书
毕业酒会致辞
2015/07/29 职场文书
使用vue-element-admin框架从后端动态获取菜单功能的实现
2021/04/29 Vue.js