Ich versuche, Python zu verwenden, um eine Datei sftp, und der Code funktioniert gut in der interaktiven Shell - sogar Einfügen in alle gleichzeitig.Warum hängt dieser Python-Code beim Import/Kompilieren, aber in der Shell?
Wenn ich versuche, die Datei zu importieren (nur um es zu kompilieren), hängt der Code ohne Ausnahmen oder offensichtliche Fehler.
Wie bekomme ich den Code zu kompilieren, oder hat jemand Arbeitscode, der sftp durch eine andere Methode erreicht?
Dieser Code hängt direkt am ssh.connect() Erklärung:
""" ProblemDemo.py Chopped down from the paramiko demo file. This code works in the shell but hangs when I try to import it! """ from time import sleep import os import paramiko sOutputFilename = "redacted.htm" #-- The payload file hostname = "redacted.com" ####-- WARNING! Embedded passwords! Remove ASAP. sUsername = "redacted" sPassword = "redacted" sTargetDir = "redacted" #-- Get host key, if we know one. hostkeytype = None hostkey = None host_keys = {} try: host_keys = paramiko.util.load_host_keys(os.path.expanduser('~/.ssh/known_hosts')) except IOError: try: # try ~/ssh/ too, because windows can't have a folder named ~/.ssh/ host_keys = paramiko.util.load_host_keys(os.path.expanduser('~/ssh/known_hosts')) except IOError: print '*** Unable to open host keys file' host_keys = {} if host_keys.has_key(hostname): hostkeytype = host_keys[hostname].keys()[0] hostkey = host_keys[hostname][hostkeytype] print 'Using host key of type %s' % hostkeytype ssh = paramiko.Transport((hostname, 22)) ssh.connect(username=sUsername, password=sPassword, hostkey=hostkey) sftp = paramiko.SFTPClient.from_transport(ssh) sftp.chdir (sTargetDir) sftp.put (sOutputFilename, sOutputFilename) ssh.close()
Duplizieren: http://stackoverflow.com/questions/443387/why-does-paramiko-hang-if-you-use-it-while-loading-a-module – JimB
Danke. Das habe ich bei meinen Recherchen nicht verstanden. –