2010-06-22 4 views
24

का उपयोग करके एसएफटीपी में 'रखो' मैंने निम्नलिखित पैरामीको को स्थापित और लिखा है जो फ़ाइल को रखने में असमर्थ है। यह आसानी से फ़ाइल प्राप्त करने में सक्षम है और उस पर 'ls' आदेश निष्पादित करता है।'पीआर' पीआरएमआईको

File "upload_file.py", line 84, in ? 
    sftp.put(source,destination) 
    File "/usr/lib/python2.4/site-packages/paramiko/sftp_client.py", line 522, in put 
    fr = self.file(remotepath, 'wb') 
    File "/usr/lib/python2.4/site-packages/paramiko/sftp_client.py", line 221, in open 
    t, msg = self._request(CMD_OPEN, filename, imode, attrblock) 
    File "/usr/lib/python2.4/site-packages/paramiko/sftp_client.py", line 572, in _request 
    return self._read_response(num) 
    File "/usr/lib/python2.4/site-packages/paramiko/sftp_client.py", line 619, in _read_response 
    self._convert_status(msg) 
    File "/usr/lib/python2.4/site-packages/paramiko/sftp_client.py", line 649, in _convert_status 
    raise IOError(text) 
IOError: Failure 

मैं यह कैसे काबू पाने के है -

#set username & password 
username='runaway' 
password='runaway' 
port=22 
source= '/Unzip.sh' 
destination ='/var/mpx/www/http' 


#SFTP 
client.load_system_host_keys() 
print " hostname =%s \n username=%s \n password=%s \n" (hostname,username,password) 
t = paramiko.Transport((hostname, port)) 
t.connect(username=username,password=password) 
sftp = paramiko.SFTPClient.from_transport(t) 
sftp.put(source,destination) 
#sftp.close() 
#t.close() 

एक 'डाल' कमांड का उपयोग करते हुए निम्न त्रुटि & स्टैक ट्रेस देता है?

उत्तर

51

समाधान मेरे लिए बहुत मजेदार लग रहा था!

source= '/Unzip.sh' 
destination ='/var/mpx/www/http/Unzip.sh' 

फ़ाइल नाम को शामिल करने के लिए गंतव्य पथ को भी संशोधित किया गया। किसी पाइथन पैकेज से आने वाली कुछ त्रुटि की अपेक्षा नहीं की थी।

+0

आप कर सकते थे शायद इस संदर्भ में पैच paramiko;) यानी इसलिए यह गंतव्य फ़ोल्डरों को समझता है। चीयर्स – nuts

0

यह भी 2.0.2 में तब होता है जब आप sftp.mkdir('/exists') करने की कोशिश:

Traceback (most recent call last): 
    ... 
    File "/usr/local/lib/python2.7/site-packages/paramiko/sftp_client.py", line 380, in mkdir 
    self._request(CMD_MKDIR, path, attr) 
    File "/usr/local/lib/python2.7/site-packages/paramiko/sftp_client.py", line 730, in _request 
    return self._read_response(num) 
    File "/usr/local/lib/python2.7/site-packages/paramiko/sftp_client.py", line 781, in _read_response 
    self._convert_status(msg) 
    File "/usr/local/lib/python2.7/site-packages/paramiko/sftp_client.py", line 811, in _convert_status 
    raise IOError(text) 
IOError: Failure 

यह था मेरी अजगर 2.7.9 फिक्स:

try: 
    sftp.mkdir(remote_dir) 
except IOError: 
    logging.debug('%s already exists.', remote_dir) 
संबंधित मुद्दे