Utiliser un sous-processus pour envoyer un mot de passe

Je suis d'essayer d'utiliser le python sous-processus module pour la connexion à un site ftp sécurisé et prenez ensuite un fichier. Cependant, je reçois accroché sur juste essayer d'envoyer le mot de passe quand il est requis. J'ai donc le code suivant:

from subprocess import Popen, PIPE

proc = Popen(['sftp','user@server', 'stop'], stdin=PIPE)
proc.communicate('password')

Cela s'arrête toujours à l'invite de mot de passe. Si j'entre le mot de passe manuellement, il se dirige ensuite vers le site ftp, puis saisit le mot de passe sur la ligne de commande. J'ai vu des gens suggèrent d'utiliser pexpect mais pour faire une histoire courte j'ai besoin d'une bibliothèque standard de la solution. Est-il de toute façon avec les sous-processus et/ou de tout autre stdlib? Que suis-je oublier?

source d'informationauteur The Jug