Mit Python 2.7 möchte ich eine Datei als Eingabe nehmen, einige Zeichen daraus entfernen und diese in eine andere Datei schreiben. Ich bin nicht ganz mit dem Code unten folgenden:Schwierigkeit beim Parsen von Textdatei Python 2.7
print 'processing .ujc file for transmit'
infile, outfile = open('app_code.ujc','r'), open('app_code_transmit.ujc','w')
data = infile.read()
data = data.replace("#include <avr/pgmspace.h> const unsigned char uj_code[] PROGMEM = {", "")
data = data.replace("0x", "")
data = data.replace(", ", "")
data = data.replace("};", "")
outfile.write(data)
Die Eingabedatei (Beispiel):
#include <avr/pgmspace.h>
const unsigned char uj_code[] PROGMEM = {
0x00, 0x03, 0xB1, 0x4B, 0xEC, 0x00, 0x1D, 0x00, 0x1E, 0x00, 0x21, 0x00, 0x02, 0x6A, 0x00, 0x02,
0x6A, 0x00, 0x02, 0xE3, 0x3F, 0x00, 0x1F, 0x00, 0x02, 0x2C, 0x00, 0x01, 0x3B, 0x00, 0x02, 0x36, 0x00, 0x00
};
Und das sollte sich (das etc ist eine Fortsetzung der oben genannten und nicht wirklich vorhanden):
0003B14BEC001D001E002100026A00(...etc...)02360000
Was ich mit dem obigen Code zu bekommen ist:
#include <avr/pgmspace.h>
const unsigned char uj_code[] PROGMEM = {
0003B14BEC001D001E002100026A00(...etc...)
02360000
Mit anderen Worten, ich möchte alle Zeichen, leere Zeilen und 0x und Zeug mit Ausnahme der tatsächlichen Bytes in einer einzigen kontinuierlichen Linie entfernen, aber ich stolpere ein wenig über die Nuancen, die ich erwarte. Irgendeine Hilfe?
Sie versuchen, mit einer Aussage zwei verschiedene Linien zu ersetzen. Dazwischen gibt es '\ n' (oder '\ r \ n'). – MKesper