在CentOS 7上运行3.3python。尝试编写简单的脚本,但不能按我的意愿让pexpect模块工作--如果我使用解释器python3.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'
我在谷歌上发现了一些类似的信息,建议将.py文件移动到另一个文件夹。这对我没用。另一个建议是删除“pycache”文件夹(在我的pexpect.py位置中有相同的文件夹),但是它不能很好地工作。错误仍然是一样的,这个文件夹仍然是在运行脚本后创建的(我的意思是尝试)。有什么想法吗?
发布于 2015-04-27 04:58:18
您已经调用了您的文件pexpect.py
。您需要将其重命名为其他内容,因为您是从文件中导入的,而不是pexpect
模块。您还需要删除同一文件夹中的任何.pyc
。无论您在哪里移动脚本,当前文件夹仍将位于实际pexpect模块所在的路径中。
https://stackoverflow.com/questions/29896263
复制