我们主要来看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详解的更多相关文章

  1. spawn类expect方法详解

    本文我们将介绍spawn类的基本方法expect方法,这个方法是用来匹配返回的结果,这个返回的结果是指子程序的返回结果,同时会将匹配的相关信息保存在spawn类的相关属性中. 基本属性包括三个,第一个 ...

  2. 【转】UML类图与类的关系详解

    UML类图与类的关系详解   2011-04-21 来源:网络   在画类图的时候,理清类和类之间的关系是重点.类的关系有泛化(Generalization).实现(Realization).依赖(D ...

  3. [转]c++类的构造函数详解

    c++构造函数的知识在各种c++教材上已有介绍,不过初学者往往不太注意观察和总结其中各种构造函数的特点和用法,故在此我根据自己的c++编程经验总结了一下c++中各种构造函数的特点,并附上例子,希望对初 ...

  4. Scala 深入浅出实战经典 第63讲:Scala中隐式类代码实战详解

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...

  5. Scala 深入浅出实战经典 第62讲:Scala中上下文界定内幕中的隐式参数实战详解

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载: 百度云盘:http://pan.baidu.com/s/1c0noOt ...

  6. UML类图与类的关系详解

    摘自:http://www.uml.org.cn/oobject/201104212.asp UML类图与类的关系详解 2011-04-21 来源:网络 在画类图的时候,理清类和类之间的关系是重点.类 ...

  7. phpcms加载系统类与加载应用类之区别详解

    <?php 1. 加载系统类方法load_sys_class($classname, $path = ''", $initialize = 1)系统类文件所在的文件路径:/phpcms ...

  8. c++类的构造函数详解

    c++类的构造函数详解 一. 构造函数是干什么的 class Counter{ public:         // 类Counter的构造函数         // 特点:以类名作为函数名,无返回类 ...

  9. Oracle GoldenGate中HANDLECOLLISIONS参数使用详解

    Oracle GoldenGate中HANDLECOLLISIONS参数使用详解   HANDLECOLLISIONS 是一个 replicat 进程参数,主要在 initial load 中使用.在 ...

随机推荐

  1. 将xml转换为PHP数组

    这里提供一个类来将XML转换为PHP数组,下面是类的代码 <?php/** * XML2Array: A class to convert XML to array in PHP * It re ...

  2. file中的一些常用方法

    1.exists();判断文件(目录)是否存在 2.mkdir();创建一级目录:mkdirs()创建多级目录 3.delete();删除文件(目录) 4.isDirectory();判断是否是一个目 ...

  3. docker部署 mysql redis问题

    问题:(ubuntu不报错,centos报错) ERROR: : starting container process caused "process_linux.go:402: conta ...

  4. Ui大屏

    http://www.uimaker.com/plus/view.php?aid=128661&pageno=1

  5. [笔记][Web]利用JS生成博文目录及CSS定制博客

    0. 简介 进入到cnblog这个大园子以后,和其他的一些博客网站比起来,少了些小功能,比如旁边CSDN上的目录.不过好在大神辈出,博客园可以通过申请JS权限来进行目录的生成. 由于本人在JS以及CS ...

  6. window下安装tensowflow

    tensorflow0.12版本支持windows,但是需要python3.5.x.而我的本机只安装了Anaconda2.7版本.因此我们可以在Anaconda中新增Python3.5的环境. 首先, ...

  7. maven命令行创建project

    创建普通java project: mvn archetype:generate -DgroupId=com.vincent -DartifactId=Java_Project -DpackageNa ...

  8. 动态加载/删除css文件以及图片预加载

    动态加载/删除css文件以及图片预加载   功能模块页面   最近,工作中遇到了一个比较奇葩的需求:要在一个页面(PC端)增加一个功能模块,但是这个页面在不久之后要重构,为了新增加的模块可以继续复用, ...

  9. Leetcode 232 Implement Queue using Stacks 和 231 Power of Two

    1. 232 Implement Queue using Stacks 1.1 问题描写叙述 使用栈模拟实现队列.模拟实现例如以下操作: push(x). 将元素x放入队尾. pop(). 移除队首元 ...

  10. hdu5384

    题意:给你n个母串.m个匹配串,让你求出对于每一个母串 全部匹配串出现的次数和. 思路:完全然全邝斌的模板啊... 凝视掉一行代码就能a... . 代码: #include <algorithm ...