Может быть, есть много решений, но я думаю, что следующие коды могут решить и вашу проблему.
need_delete = False
with open(path_to_old_file, 'r') as fin, open(path_to_new_file, 'w+') as fout :
for line in fin:
if line.endswith('"Validate repo test2"\n'):
need_delete = True
if need_delete and not line.strip():
need_delete = False
continue
if not need_delete:
fout.write(line)
Я надеюсь, что это поможет вам.
Если Вы не работаете на 10-летнем компьютере, 50-500 строк не очень многие; Вы могли буквально отправить по SQL-операторам и передать их по каналу непосредственно в базу данных и получить высокую эффективность. Принятие Вас доверяет сервисам, отправляющим Вам данные, конечно :-)
Если производительность действительно является проблемой, отправляющей по файлу массивного копирования, абсолютно самый быстрый путь к данным затора в базе данных. Это звучит от Вашего вопроса, который Вы уже знаете, как сделать это.
Всего 50-500 записей не составляют "объемную вставку". Объемный механизм вставки разработан для действительно серьезного импорта данных, которые должны быть сразу развиты со спиной.
В веб-сервисе я просто передал бы XML в SQL-сервер. Специфические особенности были бы зависимым версии.
50-500 строк не должны быть проблемой! Нет никакой потребности сделать настройку производительности! Сделайте нормальные (подготовленные) SQL-операторы в своем приложении.
Не уничтожайте его со сложностью и сверхразработкой.
Когда необходимо вставить больше чем 250 000 строк, необходимо думать о масштабировании!
Не поворачивайтесь ограничений, Вы могли бы уничтожить DB.
Какой веб-сервис - это?
Если это - .NET, обычно лучший способ состоит в том, чтобы загрузить вход в DataTable, то стрелять в него до SQL-сервера с помощью класса SqlBulkCopy
Для повторения всех других ответов 500 строк не являются никакой проблемой для SQL-сервера. Если действительно необходимо вставить большое количество записей, самый быстрый путь со встроенным сохраненным proc под названием BulkInsert,
то, которому (я Верю), является точкой входа к утилите SQL Server, специально разработанной для того, чтобы сделать названный bcp.exe