2016-06-09 163 views
1

我寫了一段代碼,它使用get請求以文本文件的形式從API接收響應。這個文件包含一個用base64編碼的二進制文件,這對我很感興趣。我希望能夠使用Python從文件中僅提取此二進制文件,以便我可以對其進行解碼。刪除Python中某個字符串之前和之後的字符

我當前的代碼是:

response = requests.get(url, headers=header, verify=False) 

    #Decoding response from base64 
    decoded_response = base64.b64decode(response) 

    #Printing response 
    print decoded_response.text 

    #Writing response to a file 
    f = open("decoded_response.txt","w") 
    f = f.read() 
    pickle.dump(decoded_response, f) 
    f.close() 

這是拋出一個TypeError,因爲編碼的字符串需要被移除以base64開始之前填充預期。 尋求幫助!

Beginning of file

+1

我知道這是不是答案,而是一個建議,因爲我在Python不代碼(我JS,Ruby和Java中的代碼)。我會解決這個問題,而不是刪除文本,但**使用**正則表達式**提取**文本以獲取我想要的部分(這將是base64內容),然後解碼它。但是,我不知道內容有多大,以及在提取內容時會如何影響性能。 –

回答

0

以下修改後的代碼爲我工作:

f = open("response.txt","wb") 
f.write(json.loads(response.text)['Binary'].decode('base64')) 
f.close() 
相關問題