spawn类参数command详解
我们主要来看spawn类它的构造方法参数主要有command,从字面上就是指spawn类的子程序用来执行的子程序,也就是系统所能够执行的相应的命令,对于command这个参数,我们是以字符串的方式给出它所需要运行的子命令,这里包括任何系统可执行的命令,也就是我们在某个系统下来使用spawn类的时候,这个系统带有这个命令,或者说可执行这条命令,那么我们就可以将要执行的命令的字符串的形式,给command这个参数,并且这个命令是可以带参数的,而且参数可以直接放入command,第三,如果我们使用command来执行系统中的命令,它不能够直接支持管道,通配符,标志输入,输出,错误重定向。


下面我们继续看,如果使用command这个参数,首先我们打开虚拟机,进入Python3交互的环境,导入pexpect库,那么我们首先传递给他一个最简单的命令,首先是列出当前路径下的所有文件和目录的命令,用“ls”这条命令,我们要看到这条命令的执行结果,可以调用spawn类的方法来查看,这样我们就可以看到用ls所列出来,也就是当前目录下所有的文件以及文件夹主要包括这些。
在给command这个参数传递命令的时候,还可以给这个命令带上参数,比如将这里面的“ls”命令进行修改一下,修改为带有一个参数,以及它有列出的是哪个目录,然后我们用刚才的同样的方法,来查看这个命令运行的结果。

可以看到它其实就是“ls - l/home/djx’”这条命令,但是它列出的目录,仍然是和刚刚的目录是相同的,并且采用的是列出详细信息的形式,对于这个command参数,它虽然可以接收一条命令或者是带有参数的命令,但是我们刚才有讲到,它是不支持管道等操作符的,那么我们下面来看一下,如果传递给他一个带有管道符的这种命令的时候会出现什么情况?

如图,输入命令,我们给它一个管道命令,表示我们从开始的文件中显示所有的内容,并且搜索这个字符串gree,然后我们用同样的方法来进行查看,可以看到这个命令在执行的时候,出现了错误的提示,这个错误的提示也就是test和grep没有那个文件或目录,所以在这个地方,grep是把这个管道符当成是一个普通的字符,那么也就是认为test和grep作为一个文件名出现的,那么当然它不会找到这个文件并且列出其内容的,那么这个gree也提示没有那个文件或目录,是因为管道符以及通配符等等在command当中是不能够直接支持和使用的,这就是我们要介绍的作为构造参数的第一个command它的使用方法。
原文链接:http://www.maiziedu.com/wiki/library/parameter/
spawn类参数command详解的更多相关文章
- spawn类expect方法详解
本文我们将介绍spawn类的基本方法expect方法,这个方法是用来匹配返回的结果,这个返回的结果是指子程序的返回结果,同时会将匹配的相关信息保存在spawn类的相关属性中. 基本属性包括三个,第一个 ...
- 【转】UML类图与类的关系详解
UML类图与类的关系详解 2011-04-21 来源:网络 在画类图的时候,理清类和类之间的关系是重点.类的关系有泛化(Generalization).实现(Realization).依赖(D ...
- [转]c++类的构造函数详解
c++构造函数的知识在各种c++教材上已有介绍,不过初学者往往不太注意观察和总结其中各种构造函数的特点和用法,故在此我根据自己的c++编程经验总结了一下c++中各种构造函数的特点,并附上例子,希望对初 ...
- Scala 深入浅出实战经典 第63讲:Scala中隐式类代码实战详解
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...
- Scala 深入浅出实战经典 第62讲:Scala中上下文界定内幕中的隐式参数实战详解
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载: 百度云盘:http://pan.baidu.com/s/1c0noOt ...
- UML类图与类的关系详解
摘自:http://www.uml.org.cn/oobject/201104212.asp UML类图与类的关系详解 2011-04-21 来源:网络 在画类图的时候,理清类和类之间的关系是重点.类 ...
- phpcms加载系统类与加载应用类之区别详解
<?php 1. 加载系统类方法load_sys_class($classname, $path = ''", $initialize = 1)系统类文件所在的文件路径:/phpcms ...
- c++类的构造函数详解
c++类的构造函数详解 一. 构造函数是干什么的 class Counter{ public: // 类Counter的构造函数 // 特点:以类名作为函数名,无返回类 ...
- Oracle GoldenGate中HANDLECOLLISIONS参数使用详解
Oracle GoldenGate中HANDLECOLLISIONS参数使用详解 HANDLECOLLISIONS 是一个 replicat 进程参数,主要在 initial load 中使用.在 ...
随机推荐
- hdu 1065(推公式)
I Think I Need a Houseboat Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Ja ...
- python笔记4:高级特性
4 高级特性 4.1 切片 [:] *注:-- list和tuple,字符串都支持切片 4.2 迭代 Iteration for ... in 及 for ... in if 两个变量迭代时, 例1 ...
- Django学习笔记(12)——分页功能
这一篇博客记录一下自己学习Django中分页功能的笔记.分页功能在每个网站都是必要的,当页面因需要展示的数据条目过多,导致无法全部显示,这时候就需要采用分页的形式进行展示. 分页在网站随处可见,下面展 ...
- java poi excel 生成表格的工具封装
效果如下: 代码如下: import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import ...
- Maven转换成Eclipse/Idea/MyEclipse工程,以及配置Web工程
Eclipse/MyEclipse: //Jar mvn eclipse:eclipse mvn eclipse:myeclipse //Web mvn eclipse:eclipse -Dwtpve ...
- python--文件处理1
1. 读取文件 方法: all_the_text = open('thefile.txt').read() 但是为了安全起见还是给打开的文件对象指定一个名字,这样在完成之后可以迅速关掉,防止无 ...
- Silverlight 离线安装包
直接下载地址 https://www.microsoft.com/getsilverlight/locale/en-us/html/Microsoft%20Silverlight%20Release% ...
- 卸载ArcGISDesktop低版本程序遇到异常,如何完全卸载?
[解决办法]:正常情况下,运行 ArcGIS for Desktop 光盘中的 “冲突检测”工具,会自动完全卸载低版本的ArcGIS 程序.如果遇到异常无法卸载(例如安装过非正式版软件),如下位置是A ...
- vbox在共享文件夹设置链接报错Protocol error问题
环境: 基于VBox 的 vagrant (centos版本)开发环境. 问题: Virtualbox 虚拟机(centOS)中,在进行go程序编译的时候,需要设置一个链接符,然后得到了如下的错误: ...
- git/icode操作记录
之前有一篇文章写了团队git的管理方式:link 今天处理了一个自动退款的脚本.提交到git.步骤如下: 1. 切换到本地master,update: git checkout master git ...