2
我想做到以下幾點:一個StringIO對象舉辦uu.encode/uu.decode數據
import StringIO, uu
my_data = StringIO.StringIO() # this is a file-like object
uu.encode(in_file, my_data)
# do stuff with my data (send over network)
uu.decode(my_data, out_file) # here I finally write to disk
上面的代碼工作。不過,如果我實現一個對象上一步中作爲一個屬性:
@property
def content(self):
out = StringIO.StringIO()
uu.decode(self._content, out)
return out.getvalue()
@content.setter
def content(self, value):
self._content = StringIO.StringIO()
with open('value', 'rb') as stream:
uu.encode(stream, self._content)
但是當我那樣做,self._content
是空的(None
,要準確)。有任何想法嗎?
'open('value','rb')'嘗試在只讀的二進制模式下打開名爲'「value」'的磁盤上的文件,對吧?我不確定,看看你的代碼,那個文件來自哪裏。 – 2010-06-28 23:01:38
@Brandon抱歉,你是對的,它應該讀取'value'(不含引號),它是一個傳遞給文件名(字符串)的方法的參數。 – Escualo 2010-06-29 04:23:01