Я подозреваю, что есть два способа справиться с тем, что, как я думаю, вы пытаетесь достичь.
1), что очевидно, открывает файл только для чтения, читает его в памяти и открывает файл с помощью t, затем запишите свои изменения.
2) используйте подпрограммы обработки файлов низкого уровня:
# Open file in RW , create if it doesn't exist. *Don't* pass O_TRUNC
fd = os.open(filename, os.O_RDWR | os.O_CREAT)
Надеюсь, это поможет ..