pexpect中的问题(python3.3)

时间:2015-04-27 12:48:21

标签: python pexpect

在CentOS 7上运行3.3 python。 尝试编写简单的脚本,但不能让pexpect模块按我的意愿工作 如果我使用解释器python 3.3,我可以正确编写这个命令

    [root@localhost expect]# python3.3
    Python 3.3.3 (default, Apr  7 2015, 02:31:24)
    [GCC 4.8.3 20140911 (Red Hat 4.8.3-9)] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import pexpect
    >>> child = pexpect.spawn('telnet 10.1.1.1')

但是如果我用完全相同的命令运行文件pexpect.py,我得到

    [root@localhost expect]# python3.3 /usr/etc/pexpect.py
    Traceback (most recent call last):
      File "/usr/etc/pexpect.py", line 1, in <module>
        import pexpect
      File "/usr/etc/pexpect.py", line 3, in <module>
        child = pexpect.spawn('telnet 10.1.1.1');
    AttributeError: 'module' object has no attribute 'spawn'

我在google中发现了一些类似的信息,建议将.py文件移到另一个文件夹中。 它对我不起作用。 另一个建议是删除“ pycache ”文件夹(我的pexpect.py位置也是如此),但它也不起作用。错误仍然相同,运行脚本后仍然会创建此文件夹(尝试,我的意思是)。 有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您已将文件pexpect.py调出。当您从文件而不是pexpect模块导入时,需要将其重命名为其他内容。您还需要删除同一文件夹中的任何.pyc。移动脚本的位置无关紧要,当前文件夹仍将位于实际pexpect模块所在的路径中。