我们主要来看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. Scrapy学习-12-使用DownloaderMiddleware随机修改User-Agent

    随机替换请求头中的User-Agent 基于github开源项目,实现User-Agent的动态切换和管理 https://github.com/hellysmile/fake-useragent   ...

  2. Sublime Text 新文本编辑器(txt3)

    http://www.sublimetext.com/

  3. Thread线程的基础知识及常见疑惑点

    引言 相信各位道友在平时工作中已经很少直接用到Thread线程类了,现在大多是通过线程池或者一些多线程框架来操作线程任务,但我觉得还是有必要了解清楚Thread线程类中各种方法的含义,了解了底层才能更 ...

  4. HTTP基础认证Basic Authentication

    HTTP基础认证Basic Authentication Basic Authentication是一种HTTP访问控制方式,用于限制对网站资源的访问.这种方式不需要Cookie和Session,只需 ...

  5. java正则表达式的知识

    /** 用途:正则表达式 * 创建人:向家康 * 创建日期:2019年4月21日 下午9:59:08 */ //有了登录界面当然少不了正则表达式啦,这是做项目必备的知识点 //通过本博客的代码,想必即 ...

  6. 推荐一款免费的SQLsever的备份软件sqlBackupAndFtp

    官方网址  http://sqlbackupandftp.com/ 这个软件不错,蛮方便的.小巧使用,还能够FTP上传数据.

  7. 利用泛型和反射,管理配置文件,把Model转换成数据行,并把数据行转换成Model

    利用泛型和反射,管理配置文件,把Model转换成数据行,并把数据行转换成Model   使用场景:网站配置项目,为了便于管理,网站有几个Model类来管理配置文件, 比如ConfigWebsiteMo ...

  8. 移植alsa-lib遇到的问题

    移植alsa-lib遇到的问题 linux audio    alsa lib    VERSIONED_SYMBOLS 这两天移植alsa lib时遇到了一个问题,被困住了好久. 做个记录,以后再被 ...

  9. MyEclipse 设置智能提示

    choice 1: -->window→Preferences→Java→Editor→Content Assist, --->将Auto activation delay 的数值改为一个 ...

  10. Linux free显示讲解

    http://www.cnblogs.com/coldplayerest/archive/2010/02/20/1669949.html 解释一下Linux上free命令的输出. 下面是free的运行 ...