Size: a a a

2020 October 14

SM

Serge Matveenko in SPb Python
Serge Matveenko
Можно даже так:

"".join(s.splitlines(keepends=True)[1:])
Ещё можно запихнуть в StringIO и проитерироваться. Может помочь с большим текстом, типа для симуляции tail -n +1, но мне лень с телефона это писать;)
источник

SM

Serge Matveenko in SPb Python
Serge Matveenko
Можно даже так:

"".join(s.splitlines(keepends=True)[1:])
Ну или

s.split("\n", maxsplit=1)[1]
источник

SM

Serge Matveenko in SPb Python
Serge Matveenko
Ну или

s.split("\n", maxsplit=1)[1]
Здесь, правда, может быть IndexError
источник

SK

Sergio Keler in SPb Python
Кошмар, как много вариантов.
источник

p

pragus in SPb Python
Хороший вопрос для собеседования, если указать что все это находится в очень большом файле
источник

A

Alexander in SPb Python
pragus
Хороший вопрос для собеседования, если указать что все это находится в очень большом файле
Если это будет очень большой текстовый файл, то в лоб ни один интерпретатор не справится. Они тупо все будут пытаться буферизировать в память.
У меня был такой случай, когда в 33гб SQL дампе надо было заменить пару строчек. Пришлось перлом in place замену делать
источник
2020 October 15

DA

Dmitry Alimov in SPb Python
Alexander
Если это будет очень большой текстовый файл, то в лоб ни один интерпретатор не справится. Они тупо все будут пытаться буферизировать в память.
У меня был такой случай, когда в 33гб SQL дампе надо было заменить пару строчек. Пришлось перлом in place замену делать
Можно попробовать через системные вызовы
источник

p

pragus in SPb Python
Alexander
Если это будет очень большой текстовый файл, то в лоб ни один интерпретатор не справится. Они тупо все будут пытаться буферизировать в память.
У меня был такой случай, когда в 33гб SQL дампе надо было заменить пару строчек. Пришлось перлом in place замену делать
да ну? mmap и погнали
источник

A

Alexander in SPb Python
pragus
да ну? mmap и погнали
Хех. Походу да, это сработает
источник

M

Matrix Telegram Brid... in SPb Python
alixx: Hi
источник

M

Matrix Telegram Brid... in SPb Python
alixx: I'm new
источник

SM

Serge Matveenko in SPb Python
А ответы на первое сообщение не понравились?
Начиная отсюда https://t.me/spbpython/100890
источник

SM

Serge Matveenko in SPb Python
Sergio Keler
Кошмар, как много вариантов.
Мне нравится со splitlines, потому что оно не зависит от использованного символа конца строки и сохраняет их как было.
источник

SM

Serge Matveenko in SPb Python
pragus
да ну? mmap и погнали
Ну, можно и итерировать по файлу/StringIO, но, возможно, придется вручную gc дергать, да.
источник

SK

Sergio Keler in SPb Python
pragus
Хороший вопрос для собеседования, если указать что все это находится в очень большом файле
Если в файле, то не надо его весь читать в память. Читайте по строчкам пропустив первую.
источник

SK

Sergio Keler in SPb Python
Serge Matveenko
Мне нравится со splitlines, потому что оно не зависит от использованного символа конца строки и сохраняет их как было.
Это да, понравилось.
источник

SM

Serge Matveenko in SPb Python
Sergio Keler
Если в файле, то не надо его весь читать в память. Читайте по строчкам пропустив первую.
gc может чистить на выходе из цикла чтения и тогда все равно накопится в памяти
источник

SK

Sergio Keler in SPb Python
Serge Matveenko
gc может чистить на выходе из цикла чтения и тогда все равно накопится в памяти
Тогда читать из пайпа на tail -n +1 файл
источник

SK

Sergio Keler in SPb Python
Ой, а как в перле можно указать в опен? with open(‘tail -n +2 файл |’):
источник

SK

Sergio Keler in SPb Python
Нельзя так :(
Жаль.
источник