“错误未找到命令....”在Windows上使用wexpect python模块

时间:2015-03-02 17:54:38

标签: python windows-xp pexpect

所以我尝试与.exe文件(tcpclient.exe)进行交互,并且pexpect文档显示它是完美的,因为我需要发送多个输入并与程序交互。

但我甚至无法使用以下代码

import wexpect

child = wexpect.spawn('dir')
print child

假设函数有效,我假设任何变量都可以打印()。

以下是错误消息

Traceback (most recent call last):

File "test1.py", line 13, in <module>

child = wexpect.spawn('dir')

File "C:\pytest\wexpect.py", line 279, in spawn
return spawn_windows(command, args, timeout, maxread, searchwindowsize, logfile, cwd, env)

File "C:\pytest\wexpect.py", line 1653, in __init__
    self._spawn (command, args)

File "C:\pytest\wexpect.py", line 1698, in _spawn

raise ExceptionPexpect ('The command was not found or was not executable: %s.' % self.command)

ExceptionPexpect: The command was not found or was not executable: dir.

我使用的是WindowsXP,我安装了MinGW和Python2.7 我通过pywin32包使用wexpect

pywin32-217.win32-py2.7.exe 这是安装.exe名称。

我的Python路径设置为C:\ Python27 \ 我尝试将其设置为C:\ Python27 \ bin,就像有人提到的那样,但之后我无法执行python。 我查看了wexpect的源代码,并且有一个函数&#34; which()&#34;正在回归&#34;无&#34;它的输入&#34; dir&#34; 我无法修改它来做其他事情。

请告诉我我做错了什么。

先谢谢。

1 个答案:

答案 0 :(得分:0)

&#39; DIR&#39;是cmd.exe的内部命令,因此wexpect无法找到它。

您需要一个可执行文件的绝对路径和一个参数列表。

在这种情况下,请使用cmd执行dir。

>>> import wexpect
>>> child = wexpect.spawn('C:\windows\system32\cmd.exe',['/c','dir'])
>>> print child
<wexpect.spawn_windows object at 0x024926B0> version: 2.3 ($Revision: 399 $)
command: C:\windows\system32\cmd.exe
args: ['C:\\windows\\system32\\cmd.exe', '/c', 'dir']
---snip