对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的Django框架中加载模版的方法
Jul 16 Python
python opencv之分水岭算法示例
Feb 24 Python
python+POP3实现批量下载邮件附件
Jun 19 Python
Python拼接字符串的7种方法总结
Nov 01 Python
python 读取竖线分隔符的文本方法
Dec 20 Python
Python中的十大图像处理工具(小结)
Jun 10 Python
详解python实现交叉验证法与留出法
Jul 11 Python
python 使用递归回溯完美解决八皇后的问题
Feb 26 Python
如何使用 Python 读取文件和照片的创建日期
Sep 05 Python
Python txt文件如何转换成字典
Nov 03 Python
python opencv通过按键采集图片源码
May 20 Python
OpenCV中resize函数插值算法的实现过程(五种)
Jun 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
hessian 在PHP中的使用介绍
2010/12/13 PHP
Javascript的闭包
2009/12/31 Javascript
Javascript 面向对象之重载
2010/05/04 Javascript
javascript代码编写需要注意的7个小细节小结
2011/09/21 Javascript
根据IP的地址,区分不同的地区,查看不同的网站页面的js代码
2013/02/26 Javascript
jQuery网页右侧广告跟随滚动代码分享
2020/04/20 Javascript
轻松实现JavaScript图片切换
2016/01/12 Javascript
jQuery自定义图片缩放拖拽插件imageQ实现方法(附demo源码下载)
2016/05/27 Javascript
JS html时钟制作代码分享
2017/03/03 Javascript
了解VUE的render函数的使用
2017/06/08 Javascript
Node.js环境下Koa2添加travis ci持续集成工具的方法
2017/06/19 Javascript
react native与webview通信的示例代码
2017/09/25 Javascript
javascript实现简易聊天室
2019/07/12 Javascript
vue实现数字动态翻牌的效果(开箱即用)
2019/12/08 Javascript
[04:55]完美世界副总裁蔡玮:DOTA2的自由、公平与信任
2013/12/18 DOTA
python改变日志(logging)存放位置的示例
2014/03/27 Python
python自动格式化json文件的方法
2015/03/11 Python
python显示生日是星期几的方法
2015/05/27 Python
使用python绘制常用的图表
2016/08/27 Python
Python基础知识_浅谈用户交互
2017/05/31 Python
Pycharm设置界面全黑的方法
2018/05/23 Python
Python 依赖库太多了该如何管理
2019/11/08 Python
pytorch sampler对数据进行采样的实现
2019/12/31 Python
python3.x中安装web.py步骤方法
2020/06/23 Python
Python paramiko使用方法代码汇总
2020/11/20 Python
智能钱包:Ekster
2019/11/21 全球购物
使用C#编写创建一个线程的代码
2013/01/22 面试题
大学生简单自荐信
2013/11/10 职场文书
护理专业毕业生自荐信
2014/06/15 职场文书
教师个人自我评价
2015/03/04 职场文书
教师调动申请报告
2015/05/18 职场文书
代理词怎么写
2015/05/25 职场文书
身份证丢失证明
2015/06/19 职场文书
2015年社区反邪教工作总结
2015/10/14 职场文书
怎样写好工作计划
2019/04/10 职场文书
24句精辟的现实社会语录,句句扎心,道尽人性
2019/08/29 职场文书