对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 搭建Web站点之Web服务器网关接口
Nov 06 Python
python Crypto模块的安装与使用方法
Dec 21 Python
python实战之实现excel读取、统计、写入的示例讲解
May 02 Python
浅谈PYTHON 关于文件的操作
Mar 19 Python
Python数据类型之Number数字操作实例详解
May 08 Python
使用Python-OpenCV向图片添加噪声的实现(高斯噪声、椒盐噪声)
May 28 Python
PyQt5 加载图片和文本文件的实例
Jun 14 Python
PyQt5实现从主窗口打开子窗口的方法
Jun 19 Python
50行Python代码获取高考志愿信息的实现方法
Jul 23 Python
Python argparse模块使用方法解析
Feb 20 Python
PyQt5实现画布小程序
May 30 Python
python语言中pandas字符串分割str.split()函数
Aug 05 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实现文件编码批量转换
2014/03/10 PHP
ThinkPHP模板替换与系统常量及应用实例教程
2014/08/22 PHP
php中json_encode UTF-8中文乱码的更好解决方法
2014/09/28 PHP
PHP中使用addslashes函数转义的安全性原理分析
2014/11/03 PHP
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
2016/05/20 PHP
Laravel重写用户登录简单示例
2016/10/08 PHP
PHP实现导出excel数据的类库用法示例
2016/10/15 PHP
JavaScript 捕获窗口关闭事件
2009/07/26 Javascript
IE8下关于querySelectorAll()的问题
2010/05/13 Javascript
九种js弹出对话框的方法总结
2013/03/12 Javascript
JS正则表达式大全(整理详细且实用)
2013/11/14 Javascript
Javascript setInterval的两种调用方法(实例讲解)
2013/11/29 Javascript
Javascript设计模式之观察者模式的多个实现版本实例
2015/03/03 Javascript
Jquery实现动态切换图片的方法
2015/05/18 Javascript
jQuery实现图片文字淡入淡出效果
2015/12/21 Javascript
AngularJS 中的指令实践开发指南(一)
2016/03/20 Javascript
Three.js学习之正交投影照相机
2016/08/01 Javascript
再谈Javascript中的异步以及如何异步
2016/08/19 Javascript
jquery Ajax实现Select动态添加数据
2017/06/08 jQuery
vue组件中使用props传递数据的实例详解
2018/04/08 Javascript
jQuery实现表格隔行换色
2018/09/01 jQuery
javascript设计模式 ? 代理模式原理与用法实例分析
2020/04/16 Javascript
[02:50]2014DOTA2 TI预选赛预选赛 大神专访第一弹!
2014/05/21 DOTA
python3实现windows下同名进程监控
2018/06/21 Python
解决Python pandas df 写入excel 出现的问题
2018/07/04 Python
Python3离线安装Requests模块问题
2019/10/13 Python
Django 限制访问频率的思路详解
2019/12/24 Python
Python交互环境下打印和输入函数的实例内容
2020/02/16 Python
利用python如何实现猫捉老鼠小游戏
2020/12/04 Python
带你认识HTML5中的WebSocket
2015/05/22 HTML / CSS
KIEHL’S科颜氏官方旗舰店:源自美国的顶级护肤品牌
2018/06/07 全球购物
捷克母婴用品购物网站:Feedo.cz
2020/12/28 全球购物
销售行政专员职责
2014/01/03 职场文书
《再别康桥》教学反思
2014/02/12 职场文书
聚美优品广告词改编
2014/03/14 职场文书
语文教育专业求职信
2014/06/28 职场文书