2016-06-09 5 views
1

Ich habe ein Stück Code geschrieben, der get-Anforderung verwendet, um eine Antwort von einer API in Form einer Textdatei zu erhalten. Diese Datei enthält eine in base64 codierte Binärdatei, die für mich von Interesse ist. Ich möchte in der Lage sein, nur diese Binärdatei aus der Datei mit Python zu extrahieren, damit ich sie dann entschlüsseln kann.Entfernen von Zeichen vor und nach einer bestimmten Zeichenfolge in Python

Mein aktueller Code ist:

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() 

Dieses eine Typeerror, da die Polsterung wie erwartet wirft vor Beginn der Base64 codierten String entfernt werden muss. Suche nach Hilfe mit diesem!

Beginning of file

+1

Ich weiß, das ist keine Antwort, sondern ein Rat, wie ich in Python Code nicht tun (I Code in JS, Ruby und Java). Ich würde dieses Problem angehen, nicht Text entfernen, aber ** Text ** mit einem ** regulären Ausdruck ** extrahieren, um nur den Teil zu bekommen, den ich haben möchte (was der base64 Inhalt wäre) und ihn dann entschlüsseln. Ich weiß jedoch nicht, wie groß der Inhalt ist und wie sich dies auf die Leistung beim Extrahieren des Inhalts auswirken könnte. –

Antwort

0

Der folgende geänderte Code für mich gearbeitet:

f = open("response.txt","wb") 
f.write(json.loads(response.text)['Binary'].decode('base64')) 
f.close() 
Verwandte Themen