python

2015-11-17 15 views
7

के साथ sftp के माध्यम से फ़ाइल अपलोड करें मैंने पायथन में एक sftp सर्वर में फ़ाइल अपलोड करने के लिए एक सरल कोड लिखा था। मैं अजगर का उपयोग कर रहा हूं 2.7python

import pysftp 

srv = pysftp.Connection(host="www.destination.com", username="root", 
password="password",log="./temp/pysftp.log") 

srv.cd('public') #chdir to public 
srv.put('C:\Users\XXX\Dropbox\test.txt') #upload file to nodejs/ 

# Closes the connection 
srv.close() 

फ़ाइल सर्वर पर दिखाई नहीं दे रही थी। हालांकि, कोई त्रुटि संदेश नहीं दिखाई दिया। कोड के साथ क्या गलत है?

संपादित करें: मैंने लॉगिंग सक्षम कर दी है। मैंने पाया कि फ़ाइल रूट फ़ोल्डर पर अपलोड की गई है और सार्वजनिक फ़ोल्डर के तहत नहीं। ऐसा लगता है कि srv.cd('public') काम नहीं किया।

+1

यह थोड़ा अपने विवरण से बताने के लिए मुश्किल है के साथ srv.put अंदर रखो। कनेक्शन बनाते समय 'लॉग ='/tmp/pysftp.log'' सेट करें और लॉग फ़ाइल की जांच करें। –

उत्तर

10

मुझे अपने स्वयं के प्रश्न का उत्तर मिला।

import pysftp 

srv = pysftp.Connection(host="www.destination.com", username="root", 
password="password",log="./temp/pysftp.log") 

with srv.cd('public'): #chdir to public 
    srv.put('C:\Users\XXX\Dropbox\test.txt') #upload file to nodejs/ 

# Closes the connection 
srv.close() 

srv.cd