저는 파이썬을 사용하여 파일을 sftp로 만들려고합니다.이 코드는 대화 형 셸에서 훌륭하게 작동합니다. 심지어 모든 것을 한꺼번에 붙여 넣을 수도 있습니다.왜이 Python 코드가 가져 오기/컴파일시 정지되지만 쉘에서 작동합니까?
파일을 가져 오려고하면 (컴파일하기 위해) 코드가 예외 나 명백한 오류로 중단됩니다.
코드를 컴파일하려면 어떻게해야합니까? 아니면 누군가 다른 방법으로 sftp를 수행하는 코드를 사용하고 있습니까?
이 코드는 바로 ssh.connect() 문에 응답 :
""" 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()
중복 : http://stackoverflow.com/questions/443387/why-does-paramiko-hang-if-you-use-it-while-loading-a-module – JimB
감사. 나는 내 수색에서 그걸 잡지 못했다. –