在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位置也是如此),但它也不起作用。错误仍然相同,运行脚本后仍然会创建此文件夹(尝试,我的意思是)。 有什么想法吗?
答案 0 :(得分:1)
您已将文件pexpect.py
调出。当您从文件而不是pexpect
模块导入时,需要将其重命名为其他内容。您还需要删除同一文件夹中的任何.pyc
。移动脚本的位置无关紧要,当前文件夹仍将位于实际pexpect模块所在的路径中。