Próbuję opracować narzędzie, które czyta plik binarny, wprowadza pewne zmiany i zapisuje go. Próbuję zrobić listę wszystkich linii w pliku, pracować z kilkoma liniami, a następnie ponownie dołączyć do listy.Łączenie listy bajtów z pytonem
To co próbowałem:
file = open('myFile.exe', 'r+b')
aList = []
for line in f:
aList.append(line)
#Here im going to mutate some lines.
new_file = ''.join(aList)
i dać mi ten błąd:
TypeError: sequence item 0: expected str instance, bytes found
które ma sens, ponieważ pracuję z bajtów.
Czy istnieje sposób, w jaki mogę użyć funkcji łączenia o coś podobnego do łączenia bajtów? Dziękuję.
na co warto, można zrobić 'ALIST = f.readlines()' lub 'ALIST = lista (f)' – mgilson
Spróbuj: 'new_file = '\ x01'.join (aList)' – karthikr
Czy ma sens mówienie o "liniach" w pliku binarnym? Zwykle dodajemy znaki nowej linii dla czytelności, co nie ma zastosowania do plików binarnych. Zastanawiam się, czy lepiej byłoby pracować z ciągami o stałej długości, jak każde 80 bajtów. (Tylko myśl.) – Rob