А если когла вычитаю , раскладываемое число в 100 раз больше максимального кандидата из списка , и таких чисел которые намного меньше раскладыввемого числа много , тогда как ?
Тогда рекурсия будет глубокой. Но насколько я знаю, рекурсивный алгоритм можно при желании переписать без рекурсии.
Идея отсортировать список по убыванию - хорошая.
А как сделать что бы слогаемые не повторялись в результате ?
Что значит "не повторялись"? Если ты рассматриваешь список как я советую, отбрасывая всё, что до слагаемого-кандидата - то повторов не будет, если в списке нет повторов. А если в списке есть повторы, то в чём проблема?
Зависит от базы. Если это нормальная БД типа постгре, то может быть проще завести отдельное подключение для фоновой задачи.
А вот если это SQLite... тут намучаешься.
valerr007, тогда используй p.stdout и p.stderr. Но там тоже не идеально - если ты читаешь stdout, а процесс пишет много в stderr, пайп stderr переполнится, и наоборот. Лечится, если ты точно знаешь что тебе нужен только stdout или только stderr, тогда можно будет отправить ненужный поток в subprocess.DEVNULL. Ну или можно объединить stdout и stderr с помощью параметра Popen(stderr=subprocess.STDOUT).
Какой вывод при зависании? Попробуй включить у ffmpeg отладочный вывод аргументом -loglevel verbose или даже -loglevel debug (осторожно при вставке значений в массив args - это будет два значения, а не одно), может, поймёшь, на каком этапе он тормозит.
поправка: не "можно", а "нужно". Иначе пайп переполнится и дочерний процесс "подвиснет" при попытке записать в пайп что-то ещё. Так что если дочерний процесс что-то ещё будет потом писать, придётся это вычитывать. Ну или играть с параметрами ffmpeg, пытаясь настроить более краткий вывод.
res2001, ну да, только вот файловый дескриптор есть не что иное, как некий непрозрачный для нас селектор, позволяющий драйверу файловой системы выбрать правильный файловый объект для выполнения операции. Т.е. файловый дескриптор - это, по сути, эквивалент this, если не по механике, то по смыслу. =)
А насчёт ООП без ООП средств в языке - ну так я и не утверждаю, что это невозможно. Опять таки, если я верно помню, те же драйверы ФС с точки зрения ядра линукса - это структуры в стиле C с указателями на функции типа open, read, write, close, и т.п. Это, по существу, полиморфизм без ООП инструментов в языке.
Ну для начала проверь, тебе вообще коллбэк приходит хоть какой-то?
Временно замени лямбду на lambda c: True, чтобы обрабатывала вообще всё, и вставь отладочный print() в самое начало profile_callback().
Василий, print() и выводит 0.
Но он выводит этот ноль в стандартный вывод (псевдофайл).
А в стандартный вывод можно писать многими способами, не только через print().
Собственно, если ты print() удалишь, ты всё равно увидишь выведенное содержимое файла, хотя никакого print() нет.
Dbtzhv, ну для очистки совести: {settings.DOMEN} начинается с https:// ? Потому что ссылка должна начинаться со схемы, по идее.
Кроме того, а если всё-таки использовать MarkdownV2? Что-то типа
Инна Фещук, ну для чтения-то да, но в вопросе-то речь о правке.
Придётся или грузить файл в память, или генерировать новый файл рядом, а потом удалять старый.
Тогда рекурсия будет глубокой. Но насколько я знаю, рекурсивный алгоритм можно при желании переписать без рекурсии.
Идея отсортировать список по убыванию - хорошая.
Что значит "не повторялись"? Если ты рассматриваешь список как я советую, отбрасывая всё, что до слагаемого-кандидата - то повторов не будет, если в списке нет повторов. А если в списке есть повторы, то в чём проблема?