Если я знаю, что окончание строк должно быть одним из CRLF или LF, то что-то, что работает для меня, это
myStr.Replace("\r?\n", "\r\n");
Это по сути делает тот же ответ neslekkiM , за исключением он выполняет только одну операцию замены на строке, а не на две. Это также совместимо с двигателями Regex, которые не поддерживают отрицательные обратные ссылки или обратные ссылки.
Вы должны использовать генераторы Python. Кроме того, печать замедляет процесс.
Ниже приведено несколько примеров использования генераторов:
readlines
перебирает весь файл. Затем вы перебираете результат из readlines
. Я думаю, что следующее редактирование сэкономит вам одну итерацию большого файла.
write = True
first_time = True
with open(file_to_copy) as f, open(output, "w") as newf:
for line in f:
if first_time == True:
if stop in line:
first_time = False
write = False
for i in range(300):
newf.write(
'\n -------------------- MIDDLE OF THE FILE -------------------')
print('\n\n')
if restart in line: write = True
if write: newf.write(line)
print('Done.')