搜索

首页  >  问答  >  正文

python - AttributeError: 'module' object has no attribute 'sendline'

怪我咯怪我咯2804 天前1183

全部回复(2)我来回复

  • PHP中文网

    PHP中文网2017-04-17 17:17:54

    看下面dir的结果,pexpect模块里面没有sendline这个方法,所以会报AttributeError.

    >>> import pexpect
    >>> dir(pexpect)
    ['EOF', 'ExceptionPexpect', 'Expecter', 'PY3', 'TIMEOUT', '__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', '__revision__', '__version__', 'exceptions', 'expect', 'is_executable_file', 'pty_spawn', 'run', 'runu', 'searcher_re', 'searcher_string', 'spawn', 'spawnbase', 'spawnu', 'split_command_line', 'sys', 'utils', 'which']

    正确的用法示例如下:

    # This connects to the openbsd ftp site and
    # downloads the recursive directory listing.
    import pexpect
    child = pexpect.spawn('ftp ftp.openbsd.org')
    child.expect('Name .*: ')
    child.sendline('anonymous')
    child.expect('Password:')
    child.sendline('noah@example.com')
    child.expect('ftp> ')
    child.sendline('lcd /tmp')
    child.expect('ftp> ')
    child.sendline('cd pub/OpenBSD')
    child.expect('ftp> ')
    child.sendline('get README')
    child.expect('ftp> ')
    child.sendline('bye')

    要在pexpect.spawn(cmd)的返回值上调用sendline方法,参考:http://pexpect.readthedocs.org/en/stable/overview.html

    回复
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 17:17:54

    Windows 上的 Pexpect
    4.0 版新增功能:Windows 支持

    Pexpect 可以在 Windows 上使用 pexpect.popen_spawn.PopenSpawn 来等待子进程生成模式,或者使用 pexpect.fdpexpect.fdspawn 来等待文件描述符。目前这应该被视为实验性的。

    pexpect.spawn 和 pexpect.run() 在 Windows 上不可用,因为它们依赖于 Unix 伪终端 (ptys)。跨平台代码不得使用这些。

    回复
    0
  • 取消回复