对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动态参数用法实例分析
May 25 Python
Python数据结构之翻转链表
Feb 25 Python
在pandas多重索引multiIndex中选定指定索引的行方法
Nov 16 Python
使用python对文件中的数值进行累加的实例
Nov 28 Python
Python多进程入门、分布式进程数据共享实例详解
Jun 03 Python
Python高阶函数、常用内置函数用法实例分析
Dec 26 Python
python numpy--数组的组合和分割实例
Feb 24 Python
浅谈Pycharm的项目文件名是红色的原因及解决方式
Jun 01 Python
Python selenium如何打包静态网页并下载
Aug 12 Python
如何完美的建立一个python项目
Oct 09 Python
python3 googletrans超时报错问题及翻译工具优化方案 附源码
Dec 23 Python
pandas求平均数和中位数的方法实例
Aug 04 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
《被神捡到的男人》动画化计划进行中!
2020/03/06 日漫
getimagesize获取图片尺寸实例
2014/11/15 PHP
PHP实现统计所有字符在字符串中出现次数的方法
2017/10/17 PHP
PHP开发的文字水印,缩略图,图片水印实现类与用法示例
2019/04/12 PHP
javascript学习笔记(十四) window对象使用介绍
2012/06/20 Javascript
js数字转换为float,取N位小数
2014/02/08 Javascript
wap浏览自动跳转到wap页面的js代码
2014/05/17 Javascript
JavaScript原生对象之Date对象的属性和方法详解
2015/03/13 Javascript
详解JavaScript的策略模式编程
2015/06/24 Javascript
javascript每日必学之循环
2016/02/19 Javascript
Nodejs中解决cluster模块的多进程如何共享数据问题
2016/11/10 NodeJs
Jqprint实现页面打印
2017/01/06 Javascript
Vue2 Vue-cli中使用Typescript的配置详解
2017/07/24 Javascript
vue-lazyload图片延迟加载插件的实例讲解
2018/02/09 Javascript
菊花转动的jquery加载动画效果
2018/08/19 jQuery
解决layer 动态加载select 失效的问题
2019/09/18 Javascript
js实现表格单列按字母排序
2020/08/12 Javascript
在Vue中使用Echarts实例图的方法实例
2020/10/10 Javascript
[01:09]DOTA2次级职业联赛 - 99战队宣传片
2014/12/01 DOTA
[01:05:40]VG vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
用Python程序抓取网页的HTML信息的一个小实例
2015/05/02 Python
Python实现简单登录验证
2016/04/13 Python
python使用threading.Condition交替打印两个字符
2019/05/07 Python
学习Python列表的基础知识汇总
2020/03/10 Python
Python之Django自动实现html代码(下拉框,数据选择)
2020/03/13 Python
Python的控制结构之For、While、If循环问题
2020/06/30 Python
Python脚本实现Zabbix多行日志监控过程解析
2020/08/26 Python
CSS3实现背景透明文字不透明的示例代码
2018/06/25 HTML / CSS
公共汽车、火车和飞机票的通用在线预订和销售平台:INFOBUS
2019/11/30 全球购物
Clarks鞋澳大利亚官方网站:Clarks Australia
2019/12/25 全球购物
倡议书格式模板
2014/05/13 职场文书
好听的队名和口号
2014/06/09 职场文书
学校班班通实施方案
2014/06/11 职场文书
感恩老师演讲稿600字
2014/08/28 职场文书
同事打架检讨书
2015/05/06 职场文书
2015年机关后勤工作总结
2015/05/26 职场文书