2011-09-23 32 views
0

我使用cookbook recipe來編碼多部分表單數據中的圖像以上傳到Twitter。編碼多部分時Python二進制數據ascii錯誤

當我運行代碼在django shell中打包圖像時,一切運行良好(甚至是用於使用二進制數據調試帖子正文的打印語句),但是當我嘗試從django命令運行相同的腳本時或者更簡單的純python腳本我不斷收到此錯誤:

body = '\r\n'.join(body) 
UnicodeDecodeError: 'ascii' codec can't decode byte 0xff in position 0: ordinal not in range(128) 

那麼,爲什麼這隻發生時,我從殼/ CLI運行的腳本,而不是?

感謝大家誰可以告訴我這個:)

+0

你只是調用連接方法嗎?或者如果您嘗試打印結果,是否會發生錯誤? – rocksportrocker

+0

當我調用連接方法時發生錯誤,即使我刪除打印語句,它仍然會發生 – victorcampos

+0

你讀過關於該食譜的所有註釋嗎?簡短的瀏覽表明(1)它使用了不贊成的內容或其他內容(2)有人有解碼錯誤,而有人提出了修正。 –

回答

0

我認爲這是關係到this問題。 在那裏提供的答案是否有幫助嗎?

0

我發現它與我的查詢結果有關。 他們以Unicode返回,我使用的價值創造,以我的形象的路徑,如:

image_path = "/my/path/%s.jpg" % model.name 

model.name是像u'model1' 我打印出這些值,並刪除U」符號(由舊的替換方法:P)從字符串都工作正常。

什麼讓我非常沮喪的是,錯誤指向'\ r \ n'.join,而不是與我的文件名相關的東西。

+1

「」「model.name類似於u'model1'我打印出這些值並從字符串中刪除了u'符號(通過替換的舊方法:P),所有這些都運行正常。」「」... ...這是一個有點像在坐在浴缸裏時用電鋸切割你的腳趾甲。 –

+0

是的,我知道,但它只是一個調試測試,而不是我用來運行腳本的實際方法 – victorcampos