Как искать и добавлять в двоичный файл в Python?

У меня проблемы с добавлением данных в двоичный файл файл. Когда я ищу () в каком-то месте, затем пишу () в этом месте, а затем читаю весь файл, я обнаруживаю, что данные не были записаны в том месте, которое я хотел. Вместо этого я нахожу его сразу после всех остальных данных / текста.

Мой код

file = open('myfile.dat', 'wb')
file.write('This is a sample')
file.close()

file = open('myfile.dat', 'ab')
file.seek(5)
file.write(' text')
file.close()

file = open('myfile.dat', 'rb')
print file.read()

#prints: This is a sample **text**

Вы можете видеть, что поиск не работает. Как мне решить эту проблему, invoice2 1000 line1 300 ...

У меня есть отчет по некоторым счетам, и в каждом счете есть строки вроде этого:

invoice1 2000
     line1   300
     line2   700
     line3   500
     line4   500
invoice2 1000
     line1   300
     line2   400
     line3   300

Теперь, когда я использую сводку для группы № 1, я должен получить 3000 как сумму суммы группы . но он показывает мне 11000 (4X2000) + (3X1000) , потому что он суммирует строки счета!
что мне делать?

6
задан Arslan Ali 14 April 2014 в 17:19
поделиться