对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之重回函数
Oct 10 Python
python smtplib模块自动收发邮件功能(一)
May 22 Python
对Python3+gdal 读取tiff格式数据的实例讲解
Dec 04 Python
解决PySide+Python子线程更新UI线程的问题
Jan 11 Python
Django用户认证系统 User对象解析
Aug 02 Python
浅析pandas 数据结构中的DataFrame
Oct 12 Python
python pygame实现球球大作战
Nov 25 Python
python实现将两个文件夹合并至另一个文件夹(制作数据集)
Apr 03 Python
PyCharm最新激活码(2020/10/27全网最新)
Oct 27 Python
python 实现aes256加密
Nov 27 Python
Python 实现一个简单的web服务器
Jan 03 Python
使用Python下载抖音各大V视频的思路详解
Feb 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 和 XML: 使用expat函数(三)
2006/10/09 PHP
PHP实现Soap通讯的方法
2014/11/03 PHP
phpnow php探针环境检测代码
2014/11/04 PHP
php判断文件上传类型及过滤不安全数据的方法
2014/12/17 PHP
php启用sphinx全文搜索的实现方法
2014/12/24 PHP
Java和PHP在Web开发方面对比分析
2015/03/01 PHP
jquery eval解析JSON中的注意点介绍
2013/08/23 Javascript
jquery教程ajax请求json数据示例
2014/01/13 Javascript
ExtJS4如何给同一个formpanel不同的url
2014/05/02 Javascript
jQuery根据name属性进行查找的用法分析
2016/06/23 Javascript
AngularJS通过$sce输出html的方法
2016/09/22 Javascript
js实现简单的选项卡效果
2017/02/23 Javascript
微信小程序本地缓存数据增删改查实例详解
2017/05/24 Javascript
jQuery插件实现弹性运动完整示例
2018/07/07 jQuery
vue.js template模板的使用(仿饿了么布局)
2018/08/13 Javascript
vue-drag-chart 拖动/缩放图表组件的实例代码
2020/04/10 Javascript
openlayers实现地图测距测面
2020/09/25 Javascript
[40:03]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#1EHOME VS Archon
2016/03/02 DOTA
让Python更加充分的使用Sqlite3
2017/12/11 Python
python2.x实现人民币转大写人民币
2018/06/20 Python
Python 经典面试题 21 道【不可错过】
2018/09/21 Python
在Python中给Nan值更改为0的方法
2018/10/30 Python
Python 调用 zabbix api的方法示例
2019/01/06 Python
解决pycharm下os.system执行命令返回有中文乱码的问题
2019/07/07 Python
python3 反射的四种基本方法解析
2019/08/26 Python
Python实现bilibili时间长度查询的示例代码
2020/01/14 Python
五分钟带你搞懂python 迭代器与生成器
2020/08/30 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
HTML5文档结构标签
2017/04/21 HTML / CSS
JPA的优势都有哪些
2013/07/04 面试题
经理职责范文
2013/11/08 职场文书
优秀应届毕业生自荐信
2013/11/16 职场文书
采购经理岗位职责
2014/02/16 职场文书
应届本科毕业生求职信
2014/07/23 职场文书
2014年生产部工作总结
2014/12/17 职场文书
Python实现信息管理系统
2022/06/05 Python