2013-02-21 16 views
5

मैं paramiko sftp का उपयोग कर बड़ी फ़ाइलों (~ 650mb) फ़ाइलों की प्रतिलिपि बनाने की कोशिश कर रहा हूं। मैं छोटी फ़ाइलों की प्रतिलिपि बनाने में सक्षम हूं, लेकिन जब मैं बड़ी फ़ाइलों की प्रतिलिपि बनाने का प्रयास करता हूं तो मुझे निम्न त्रुटि दिखाई देती है। मैं sftp सीधे फॉर्म टर्मिनल का उपयोग कर फ़ाइल की प्रतिलिपि बनाने में सक्षम हूं।paramiko sftp सर्वर कनेक्शन

Traceback (most recent call last): 
    File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner 
    self.run() 
    File "/usr/lib/python2.7/threading.py", line 504, in run 
    self.__target(*self.__args, **self.__kwargs) 
    File "/usr/lib/python2.7/dist-packages/paramiko/sftp_file.py", line 453, in _prefetch_thread 
    self.sftp._async_request(self, CMD_READ, self.handle, long(offset), int(length)) 
    File "/usr/lib/python2.7/dist-packages/paramiko/sftp_client.py", line 656, in _async_request 
    self._send_packet(t, str(msg)) 
    File "/usr/lib/python2.7/dist-packages/paramiko/sftp.py", line 172, in _send_packet 
    self._write_all(out) 
    File "/usr/lib/python2.7/dist-packages/paramiko/sftp.py", line 136, in _write_all 
    n = self.sock.send(out) 
    File "/usr/lib/python2.7/dist-packages/paramiko/channel.py", line 701, in send 
    self.transport._send_user_message(m) 
    File "/usr/lib/python2.7/dist-packages/paramiko/transport.py", line 1426, in _send_user_message 
    self._send_message(data) 
    File "/usr/lib/python2.7/dist-packages/paramiko/transport.py", line 1406, in _send_message 
    self.packetizer.send_message(data) 
    File "/usr/lib/python2.7/dist-packages/paramiko/packet.py", line 310, in send_message 
    self.write_all(out) 
    File "/usr/lib/python2.7/dist-packages/paramiko/packet.py", line 260, in write_all 
    raise EOFError() 
EOFError 

Traceback (most recent call last): 
    File "./extract.py", line 107, in <module> 
    main() 
    File "./extract.py", line 81, in main 
    getFiles() 
    File "./extract.py", line 58, in getFiles 
    'ABC.zip') 
    File "/usr/lib/python2.7/dist-packages/paramiko/sftp_client.py", line 614, in get 
    data = fr.read(32768) 
    File "/usr/lib/python2.7/dist-packages/paramiko/file.py", line 153, in read 
    new_data = self._read(read_size) 
    File "/usr/lib/python2.7/dist-packages/paramiko/sftp_file.py", line 152, in _read 
    data = self._read_prefetch(size) 
    File "/usr/lib/python2.7/dist-packages/paramiko/sftp_file.py", line 132, in _read_prefetch 
    self.sftp._read_response() 
    File "/usr/lib/python2.7/dist-packages/paramiko/sftp_client.py", line 668, in _read_response 
    raise SSHException('Server connection dropped: %s' % (str(e),)) 
paramiko.SSHException: Server connection dropped: 

यह भी बाइट्स की कुछ संख्या पढ़ने के बाद ही फेंक दिया जाता है। मैं sftp_client.py अंदर एक प्रिंट बयान पेश किया और इस उत्पादन (बाइट्स)

reading bytes data_size: 11 
reading bytes data_size: 28 
reading bytes data_size: 28 
reading bytes data_size: 32776 
reading bytes data_size: 32776 
reading bytes data_size: 32776 
reading bytes data_size: 32776 
reading bytes data_size: 32776 
reading bytes data_size: 32776 
reading bytes data_size: 32776 

यह मेरे लिए स्पष्ट नहीं है क्यों कनेक्शन फ़ाइल के बीच में गिरा दिया जाता है। इसे संभालने के तरीके पर कोई सुझाव?

धन्यवाद!

+0

क्या आपके पास इस पर कोई विकास है? मैं एक ही समस्या से लड़ रहा हूँ। – Etienne

+0

@ एटियेन मैं अभी भी इस पर इंतजार कर रहा हूं और मुझे किसी भी वैकल्पिक समाधान के बारे में पता नहीं है – user868643

+0

कल मैंने यहां एक बग रिपोर्ट सबमिट की: https://github.com/paramiko/paramiko/issues/151 – Etienne

उत्तर

0

मेरा answer on a similar question देखें। यदि यह इस समस्या को हल करता है, तो इस प्रश्न को डुप्लिकेट के रूप में चिह्नित किया जा सकता है।

संबंधित मुद्दे