2015-12-14 7 views
5

मैं कुछ टूल लिखने के लिए Box पायथन एपीआई का उपयोग कर रहा हूं। इसलिए, उनमें से एक फ़ाइल को Box पर अपलोड करना है। वे ऑब्जेक्ट फ़ाइल के रूप में StringIO का उपयोग करते हैं। मैं स्थानीय स्तर पर एक फ़ाइल को पढ़ने और StringIO बफर करने के लिए अपनी सामग्री लिखने की ज़रूरत है, तो Box एपीआई है कि पारित के रूप में नीचे दिए गए कोड में दिखाया गया है:एक फ़ाइल से पढ़ना और स्ट्रिंगियो को लिखना - पायथन

def upload_file(self, filename, folder_id='0'): 
    assert self.client is not None 
    try: 
     stream = StringIO.StringIO() 
     # replace this line a file read 
     stream.write('Box Python SDK Test!') 
     stream.seek(0) 
     box_file = self.client.folder(folder_id=folder_id).upload_stream(
                 stream, filename, 
                 preflight_check=True) 
     return box_file.name 
    except BoxAPIException, e: 
     self.log.exception(e) 

काफी सरल, मैं कैसे एक स्थानीय फ़ाइल से पढ़ सकते हैं, और फिर StringIO बफर को लिखें?

+0

तुम सच में एक StringIO (संभावना फ़ाइल वस्तु क्या करेंगे) की जरूरत है, बस करो 'stream.write (खुला (फ़ाइल का नाम) .read())'। – tdelaney

उत्तर

3

आपको StringIO उदाहरण के बजाय एक खुली फ़ाइल की आपूर्ति करने में सक्षम होना चाहिए। यह करना चाहिए:

stream = open('mylocal_file') 
संबंधित मुद्दे