使用命令提示符安装python模块_Python安装使用命令行交互模块pexpect的基础教程...

一、安装

1、安装easy_install工具

wget http://peak.telecommunity.com/dist/ez_setup.py

python ez_setup.py 安装easy_install工具(这个脚本会自动去官网搜索下载并安装)

python ez_setup.py -U setuptools

升级easy_install工具

2、安装pexpect

easy_install Pexpect

测试一下:

[root@OMS python]# python

Python 2.7.3rc1 (default, Nov 7 2012, 15:03:45)

[GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> import pexpect

>>> import pxssh

>>>

ok已经安装完成。

二、基本用法

1.run()函数run功能相对简单,只能实现简单交互

run(command,timeout=-1,withexitstatus=False,events=None,extra_args=None, logfile=None, cwd=None, env=None)

run运行命令,然后返回结果,与os.system类似.

示例:

pexpect.run('ls -la')

# 返回值(输出,退出状态)

(command_output, exitstatus) = pexpect.run('ls -l /bin', withexitstatus=1)

2.spawn类spawn功能比run强大,可以实现更复杂交互

class spawn

__init__(self, command, args=[], timeout=30, maxread=2000, searchwindowsize=None, logfile=None, cwd=None, env=None)

timeout指定交互是等待的超时值;

maxread设置read buffer大小. 每次pexpect尝试从TTY(Teletype终端)从读取的最大字节数;

searchwindowsize 指定了从输入缓冲区中进行模式匹配的位置,默认从开始匹配;

logfile 参数指定日志的记录位置。

工作过程:

# 第一步与终端建立连接

child = pexpect.spawn('scp foo user@example.com:.')

# 第二步等待终端返回特定内容

child.expect('Password:')

# 第三步根据返回内容发送命令进行交互

child.sendline(mypassword)

3.pxssh类pxssh是pexpect的派生类,用于建立ssh连接,比pexpect好用。

login()  建立到目标机器的ssh连接;

logout() 释放该连接;

prompt() 等待提示符,通常用于等待命令执行结束。

三、实例写一个脚本给远程服务器发送命令,并返回结果。

脚本内容:

#!/usr/bin/python

#2013-01-16 by larry

import pexpect

def login(port,user,passwd,ip,command):

child=pexpect.spawn('ssh -p%s %s@%s "%s"' %(port,user,ip,command))

o=''

try:

i=child.expect(['[Pp]assword:','continue connecting (yes/no)?'])

if i == 0:

child.sendline(passwd)

elif i == 1:

child.sendline('yes')

else:

pass

except pexpect.EOF:

child.close()

else:

o=child.read()

child.expect(pexpect.EOF)

child.close()

return o

hosts=file('hosts.list','r')

for line in hosts.readlines():

host=line.strip("\n")

if host:

ip,port,user,passwd,commands= host.split(":")

for command in commands.split(","):

print "+++++++++++++++ %s run:%s ++++++++++++" % (ip,command),

print login(port,user,passwd,ip,command)

hosts.close()

使用方法:

python scripts.py

host.list文件内容如下:

192.168.0.21:22999:root:123456:cat /etc/redhat-release,df -Th,whoami

192.168.0.21:22999:root:123456:cat /etc/redhat-release,df -Th,whoami

返回结果:

+++++++++++++++ 192.168.0.21 run:cat /etc/redhat-release ++++++++++++

Red Hat Enterprise Linux Server release 4

+++++++++++++++ 192.168.0.21 run:df -Th ++++++++++++

文件系统 类型 容量 已用 可用 已用% 挂载点

/dev/cciss/c0d0p6

ext3 5.9G 4.4G 1.2G 80% /

/dev/cciss/c0d0p7

ext3 426G 362G 43G 90% /opt

/dev/cciss/c0d0p5

ext3 5.9G 540M 5.0G 10% /var

/dev/cciss/c0d0p3

ext3 5.9G 4.1G 1.5G 74% /usr

/dev/cciss/c0d0p1

ext3 487M 17M 445M 4% /boot

tmpfs tmpfs 4.0G 0 4.0G 0% /dev/shm

+++++++++++++++ 192.168.0.21 run:whoami ++++++++++++

root

企业级 Agent 在 K8s 上的运行模型 Kubernetes├── Agent Orchestrator(控制面)├── Agent Runtime Pods(执行面)├── Graph DSL(流程层)├── Tool Services(能力层)K8s(调度)+ Graph(流程)+ Agent(决策)+ Tool(执行)+ Guard(治理) 阅读详情

相关推荐

自定义View系列教程04--Draw源码分析及其实践

通过之前的详细分析,我们知道:在measure中测量了View的大小,在layout阶段确定了View的位置。 完成这两步之后就进入到了我们相对熟悉的draw阶段,在该阶段真正地开始对视图进行绘制。按照之前的惯例,我们来瞅瞅View中draw( )的源码 public void draw(Canvas canvas) { final int privateFlags = mPriv

谷哥的小弟 2万+

Python库介绍——time

Python的time库介绍

GMSJSHX的博客 5377

企业级大模型落地:私有化部署的安全合规全流程实战指南

摘要:本文针对企业在大模型私有化部署中面临的数据泄露、合规风险及系统稳定性难题,提出一套覆盖数据安全、模型合规、审计追踪与灾备方案的全流程解决方案。通过双加密管道(国密SM4传输加密+AES-GCM存储加密)、SGX可信执行环境等技术,实现数据全生命周期保护;结合等保2.0三级要求与《生成式AI服务管理暂行办法》,提供合规性实施细则;并给出本地GPU集群、混合云、边缘推理盒子三种企业级部署方案及成本模型。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 811

python中的datatime包

Python中的datatime包

d8958的博客 1648

python安装time模块_Python之路-Python常用模块-time模块

一、time模块常用的一种获取当前时间以及时间格式化的模块模块名称:timetime模块Python原生安装中就存在所以不需要进行任何安装操作,直接使用即可。导入方式: import timetime模块-常用方法time模块-时间元组time模块-时间格式'''引入time模块'''import time# print(time.altzone)#返回当前时间 可读形式# print(tim...

weixin_39639174的博客 1万+

python 的time模板翻译及说明

python 的内嵌time模板翻译及说明一、简介time模块提供各种操作时间的函数说明:一般有两种表示时间的方式:第一种是时间戳的方式(相对于1970.1.1 00:00:00以秒计算的偏移量),时间戳是惟一的第二种以数组的形式表示即(struct_time),共有九个元素,分别表示,同一个时间戳的struct_time会因为时区不同而不同year (four digits, e.g. 1998

yiihsia的学习阵地 1869

Linux下PythonPexpect安装【自己留存】

Python安装: 1)下载Python。主页上有两个版本,我下载的是2.7这个版本(很费解的是,Python的官网必须通过翻墙软件才能访问,太不解了) 2)解压后,在该目录下依次运行以下命令即可安装: a) ./configure b) make c) make install 检验Python是否安装成功:在命令行输入python,回车后如果看到pytho

knight19850108的专栏 1万+

pythonpexpect模块

pythonpexpect模块一:pexpect简介二:基本使用流程三:API使用3.1 spawn类3.2 expect()方法3.3 sendline()方法3.4 其他发送信息的方法3.5 其他获取结果的方法四:应用案例五:SSH专用类 一:pexpect简介 以下演示python版本:python3.7.4 pexpect官方文档:pexpect链接 Expect 程序主要用于人机对话的...

2万+

pythonpexpect实现自动交互

pexpect

咬手指的apple 1万+

python怎么安装time_python 时间timePython安装使用命令行交互模块pexpect基础教程...

一、安装1、安装easy_install工具wget http://peak.telecommunity/dist/ez_setup.pypython ez_setup.py 安装easy_install工具(这个脚本会自动去官网搜索下载并安装)python ez_setup.py -U setuptools升级easy_install工具2、安装pexpecteasy_install Pexpe...

weixin_39870413的博客 441

Python模块pexpect详解

一、pexpect模块介绍 Pexpect使Python成为控制其他应用程序的更好工具。可以理解为Linux下的expect的Python封装,通过pexpect我们可以实现对ssh,ftp,passwd,telnet等命令行进行自动交互,而无需人工干涉来达到自动化的目的 二、Pexpect安装 #python2 pip install pexpect #python3 pip3 install pexpect 三、pexpect的核心组件 3.1 spawn类 是Pexpect库的主要对象即接

二进制杯莫停的博客 6081

Python命令行交互模块

模块pexpect 简介:可以实现命令行内自动捕捉关键字,自动输入内容并执行 #实现交互pexpect模块 #先要安装软件包pexpect #-*-coding:utf-8 -*- #实现远程登录 def ssh(): import pexpect,sys child = pexpect.spawn("/usr/bin/sh -c 'ssh -p 22 root@192.1...

ᠮᠤᠷᠢᠨ ᠬᠤᠭᠤᠷ 1319

PythonPexpect模块详解

对于存在交互过程的远程访问,如ssh, ftp, mencoder, passwd等,通过Pexpect模块可以根据应用的输出控制交互过程,从而提高容错性。 Pexpect模块首先通过生成子应用以代理交互应用,这样就可以通过检测子应用的模式匹配情况以响应交互应用的输出。 作为Don Libes的Expect实现之一,Pexpect模块是一个纯Python实现。 Python也有其他的类E

成长的足迹 1万+

Python3命令行交互Pexpect使用之如何在指定目录下使用spawn执行命令

Pexpect介绍 因为要通过python执行脚本,而且有交互,需要输入密码才可以继续进行,就找到了PexpectPexpect makes Python a better tool for controlling other applications.使用pexpect.expect功能 问题 之前我找了半天,通过spawn执行命令,都是因为不在对应目录下,最后发现spawn也支持cwd参...

莫负青春取自惭 4858

python pexpect模块详解_python pexpect原理详解及使用说明

pexpectpython中用于实现SSH,FTP,telnet等命令进行自动化交互,从而无需人工干预实现自动化运维的一个第三方扩展模块。理论的描述过于抽象,这里首先设想一下,如果让您设计一个实现自动化模块的模型您会怎么设计,哦,我们只需要做简单的执行或开始操作,详细的过程程序自动执行,完成后返回对应的执行结果给我,那如何实现呢,对比一下自动化和非自动化的区别就会有思路,举一个简单SSH登录19...

weixin_29266007的博客 1285

Python入门之——pexpect模块

pexpect可以理解为Linux下的expect的Python封装、通过pexpect可以实现对ssh、ftp、passwd、telnet等命令行进行自动交互,而无需人工干涉来达到自动化的目的。比如我们可以模拟一个FTP登录时所有交互,包括输入主机地址、用户名、密码、上传文件等,待出现异常还可以进行尝试自动处理。 pexpect的核心组件 下面介绍pexpect的几个核心组件包括spawn类、run函数及派生类pxssh等的定义及使用方法。 spawn类 spawn是pexpect的主要类接口,功能是启动

肥叔菌的博客 6090

python中的time库安装步骤-python中time库的使用

本篇博客将介绍python的内置库time,我们将从如下几个方面介绍:时间获取:time() ctime() gmtime()时间格式化:strftime() strptime()程序计时:sleep(),perf_counter()时间获取time() :获取从1970年1月1日0:00开始到当前时间点的时间,返回一个浮点数,单位为sctime() :获取当前时间,返回一个字符串,格式是星期 月...

weixin_37988176的博客 7319

python安装time模块_python time模块使用

我们先导入必须用到的一个module>>> import time设置一个时间的格式,下面会用到>>>ISOTIMEFORMAT=’%Y-%m-%d %X’看一下当前的时间,和其他很多语言相似这是从epoch(1970 年 1 月 1 日 00:00:00)开始到当前的秒数。>>> time.time()1180759620.859上面的看不懂...

weixin_39738273的博客 781

Python的标准库之时间库(小白五分钟从入门到精通)

标准库是Python自带的库,无须下载,可直接使用

weixin_74414860的博客 1726

掌握时间,从Python的time库开始

在编程的世界里,时间是一个不可或缺的元素。无论是记录日志、设置定时任务、计算程序运行时间,还是处理与时间相关的日期和时间数据,我们都需要一个强大的工具来帮助我们处理这些任务。Python的time库就是这样一个工具,它提供了各种操作日期和时间的函数,让我们能够轻松地与时间打交道。Python的time库是一个功能强大且易于使用的时间处理工具。它不仅能够帮助我们获取和格式化时间,还能够测量时间间隔和暂停程序执行。通过上述的介绍和示例,我们可以看到time库在处理时间相关任务时的灵活性和实用性。

AIGC搞起 1481

python】一文解决python各类第三方包的 pip 安装问题(含加速镜像源、pip在线离线安装方法,多环境安装,量化talib包安装方法)

Python使用pip来安装各种第三方模块,丰富的第三方模块(也称为wheel轮子)扩展了python的应用,给我们带来了方便。如何安装第三方模块,是继python基本学习后,必须要掌握的技能,学习以下方法,可以解决所有pip安装问题。......

IT里的交易员-博客 1万+

python中的time库安装步骤-python time模块使用

我们先导入必须用到的一个module>>> import time设置一个时间的格式,下面会用到>>>ISOTIMEFORMAT=’%Y-%m-%d %X’看一下当前的时间,和其他很多语言相似这是从epoch(1970 年 1 月 1 日 00:00:00)开始到当前的秒数。>>> time.time()1180759620.859上面的看不懂,换个格式来看看>>> time.localtime(...

weixin_37988176的博客 2980

ASTM B488-2018_中文版 工程用电镀金层标准指南.pdf

ASTM B488-2018_中文版 工程用电镀金层标准指南.pdf

基于python实现的社交媒体舆论场虚假账号检测项目源码.zip

基于python实现的社交媒体舆论场虚假账号检测项目源码.zip基于python实现的社交媒体舆论场虚假账号检测项目源码.zip基于python实现的社交媒体舆论场虚假账号检测项目源码.zip基于python实现的社交媒体舆论场虚假账号检测项目源码.zip基于python实现的社交媒体舆论场虚假账号检测项目源码.zip基于python实现的社交媒体舆论场虚假账号检测项目源码.zip基于python实现的社交媒体舆论场虚假账号检测项目源码.zip基于python实现的社交媒体舆论场虚假账号检测项目源码.zip基于python实现的社交媒体舆论场虚假账号检测项目源码.zip基于python实现的社交媒体舆论场虚假账号检测项目源码.zip基于python实现的社交媒体舆论场虚假账号检测项目源码.zip基于python实现的社交媒体舆论场虚假账号检测项目源码.zip基于python实现的社交媒体舆论场虚假账号检测项目源码.zip基于python实现的社交媒体舆论场虚假账号检测项目源码.zip基于python实现的社交媒体舆论场虚假账号检测项目源码.zip基于python实现的社交媒体舆

上一篇: win10使用python的strftime有错误_win10系统提示werfault.exe应用程序错误如何解决
下一篇: python3字符编码转换_Python3 中文字符与Unicode字符互转(原创)
weixin_39653320
博客等级 码龄9年 34粉丝 140原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值