Методы Pexpect не работают

Вопрос: Я запускаю CentOS7 и установил pexpect в Python3.5. Однако, когда я вызываю какой-либо из методов, он возвращает ошибку, указывающую, что атрибут не существует. Любые идеи, почему это происходит? Я читал, что это может быть связано с именем файла pexpect.py в каталоге, но у меня нет файла pexpect.py в том же каталоге. $ pip3.5 freeze

Вопрос:

Я запускаю CentOS7 и установил pexpect в Python3.5. Однако, когда я вызываю какой-либо из методов, он возвращает ошибку, указывающую, что атрибут не существует. Любые идеи, почему это происходит? Я читал, что это может быть связано с именем файла pexpect.py в каталоге, но у меня нет файла pexpect.py в том же каталоге.

$ pip3.5 freeze | grep pexpect pexpect==4.2.1

Пример кода:

# 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(‘[email protected]’) 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’)

Ошибка:

Ошибка виртуальной машины CentOS7:

/usr/local/bin/python3.5 /media/sf_PycharmProjects/MyPyScripts/Tutorials/input_cmds Traceback (most recent call last): File «/media/sf_PycharmProjects/MyPyScripts/Tutorials/input_cmds», line 4, in <module> child = pexpect.spawn(‘ftp ftp.openbsd.org’) AttributeError: module ‘pexpect’ has no attribute ‘spawn’

Ошибка Windows:

Traceback (most recent call last): File «C:/Users/home/PycharmProjects/PyCAT/Current_Version/SFTP/testsftp.py», line 4, in <module> child = pexpect.spawn(‘ftp ftp.openbsd.org’) AttributeError: module ‘pexpect’ has no attribute ‘spawn’

Pexpect Dir:

>>> import pexpect >>> dir(pexpect) [‘__builtins__’, ‘__cached__’, ‘__doc__’, ‘__file__’, ‘__loader__’, ‘__name__’, ‘__package__’, ‘__path__’, ‘__spec__’] Лучший ответ:

Что ж, для Windows Error я могу сказать вам, что Pexpect.spawn не работает в Windows. Это должно что-то сделать с pypi, который предоставляет некоторые модули только для Linux-систем, а spawn использует одну из этих частей.

В Windows вы должны использовать PopenSpawn.

Оцените статью
Добавить комментарий