/ Méthodes Pexpect ne fonctionnent pas - python, pexpect

Les méthodes Pexpect ne fonctionnent pas - python, pexpect

J'exécute CentOS7 et ai installé pexpecten Python3.5. Cependant, lorsque j'appelle l'une des méthodes, une erreur est signalée indiquant que l'attribut n'existe pas. Des idées pourquoi cela se produit? J'ai lu que cela pourrait être dû à un nom de fichier pexpect.py dans le répertoire mais je n'ai pas de fichier appelé pexpect.py dans le même répertoire.

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

Exemple de code:

# 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")

Erreur:

Erreur de machine virtuelle 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"

Erreur 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__"]

Réponses:

1 pour la réponse № 1

Eh bien, pour l’erreur Windows, je peux vous dire que Pexpect.spawn ne fonctionne pas sous Windows. Cela doit faire quelque chose avec pypi qui fournit certains modules uniquement sur les systèmes Linux, et spawn utilise l'une de ces parties.

Sous Windows, vous devez utiliser PopenSpawn à la place.