对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 相关文章推荐
Python实现list反转实例汇总
Nov 11 Python
在Python中处理时间之clock()方法的使用
May 22 Python
Pthon批量处理将pdb文件生成dssp文件
Jun 21 Python
Python中pygame安装方法图文详解
Nov 11 Python
Python 爬虫模拟登陆知乎
Sep 23 Python
Python基于递归算法实现的汉诺塔与Fibonacci数列示例
Apr 18 Python
python实现flappy bird游戏
Dec 24 Python
python利用ffmpeg进行录制屏幕的方法
Jan 10 Python
Python 正则表达式爬虫使用案例解析
Sep 23 Python
django 中使用DateTime常用的时间查询方式
Dec 03 Python
PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)
Jun 02 Python
Python可变集合和不可变集合的构造方法大全
Dec 06 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 验证码的实现代码
2011/07/17 PHP
实例讲解PHP设计模式编程中的简单工厂模式
2016/02/29 PHP
PHP集成环境XAMPP的安装与配置
2018/11/13 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
2019/11/21 PHP
由prototype_1.3.1进入javascript殿堂-类的初探
2006/11/06 Javascript
js 调整select 位置的函数
2008/02/21 Javascript
优化 JavaScript 代码的方法小结
2009/07/16 Javascript
jQuery获取CSS样式中的颜色值的问题,不同浏览器格式不同的解决办法
2013/05/13 Javascript
javascript制作的网页侧边弹出框思路及实现代码
2014/05/21 Javascript
jquery操作checked属性以及disabled属性的多种方法
2014/06/20 Javascript
Javascript原型链的原理详解
2016/01/05 Javascript
bootstrap模态框垂直居中效果
2016/12/03 Javascript
详解Vuex中mapState的具体用法
2017/09/28 Javascript
iview日期控件,双向绑定日期格式的方法
2018/03/15 Javascript
Vue ElementUi同时校验多个表单(巧用new promise)
2018/06/06 Javascript
vue.js实现标签页切换效果
2018/06/07 Javascript
css配合JavaScript实现tab标签切换效果
2018/10/11 Javascript
JavaScript中的一些实用小技巧总结
2019/04/07 Javascript
layui数据表格重载实现往后台传参
2019/11/15 Javascript
[01:25]DOTA2自定义游戏灵园鬼域等你踏足
2015/10/30 DOTA
一些常用的Python爬虫技巧汇总
2016/09/28 Python
python中模块查找的原理与方法详解
2017/08/11 Python
Python语言描述最大连续子序列和
2017/12/05 Python
python图像处理入门(一)
2019/04/04 Python
Python 爬虫实现增加播客访问量的方法实现
2019/10/31 Python
Python中SQLite如何使用
2020/05/27 Python
PyQt5多线程防卡死和多窗口用法的实现
2020/09/15 Python
有关HTML5 Video对象的ontimeupdate事件(Chrome上无效)的问题
2013/07/19 HTML / CSS
美国最好的钓鱼、狩猎和划船装备商店:Bass Pro Shops
2018/12/02 全球购物
外贸主管求职简历的自我评价
2013/10/23 职场文书
《赠汪伦》教学反思
2014/04/12 职场文书
大学生党员自我批评思想汇报
2014/10/10 职场文书
流动人口婚育证明
2014/10/19 职场文书
小班下学期个人总结
2015/02/12 职场文书
MySQL query_cache_type 参数与使用详解
2021/07/01 MySQL
java如何实现获取客户端ip地址的示例代码
2022/04/07 Java/Android