f = open(filepath,'r')
data = f.readlines()
f.close()
edited = []
for line in data:
edited.append( '1'+line[1:] )
f = open(filepath,'w')
f.writelines(edited)
f.flush()
f.close()
Или в Python 2.5 +:
with open(filepath,'r') as f:
data = f.readlines()
with open(outfilepath, 'w') as f:
for line in data:
f.write( '1' + line[1:] )
Это должно сделать это. Я не рекомендовал бы это для действительно большого файла все же ;-)
Что происходит (пример 1):
1: открыть файл в режиме чтения
2,3: прочитать все строки в списке (каждая строка представляет собой отдельный индекс) и закрыть файл.
4,5,6: перебирать список, создавая новый список, в котором в каждой строке первый символ заменяется на 1. Строка [1:] разрезает строку с индекса 1 и далее. Мы объединяем 1 с усеченным списком.
7,8,9: снова открыть файл в режиме записи, записать список в файл (перезаписать), очистить буфер и закрыть дескриптор файла.
В отл. 2:
Я использую оператор with, который позволяет файлу обрабатывать закрытие, но, по сути, делает то же самое.