На самом деле более простой способ использования fileinput - использовать параметр inplace:
import fileinput
for line in fileinput.input (filenameToProcess, inplace=1):
process (line)
Если вы используете параметр inplace, он перенаправит стандартный вывод в ваш файл, так что, если вы сделаете печать, он запишет обратно в ваш файл.
Этот пример добавляет номера строк в ваш файл:
import fileinput
for line in fileinput.input ("b.txt",inplace=1):
print "%d: %s" % (fileinput.lineno(),line),