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, который позволяет дескриптору файла закрывать себя, но делает по существу то же самое.
'a' сохранит то, что уже было в файле. –