• Как в sqlite3 добавить запись в таблицу, оставив пустые поля?

    trapwalker
    @trapwalker
    Вот-вот. Или хотя бы посмотреть пару любых примеров SQL-запроса INSERT.
  • Есть ли в python библиотеки для создания графики в стиле MS DOS?

    trapwalker
    @trapwalker Куратор тега Python
    Немного поправлю. Автор Принца Персии исользовал технику ротаскопирования и использвал даже не фотографии, а кадры видео. снятого на домашнюю вдеокамеру.
    Прелесть и реалистичность движений ГГ в игре кроется именно в динамике прыжков, разгона, торможения, подъёмов и спусков.
  • Почему csv writer не записывает все итерации, хотя должен?

    trapwalker
    @trapwalker Куратор тега Python
    JyriG, у вас не правильно закрывается файл, в который вы записываете. При экстренном прерывании работы программы (вот как вы написали) буффер, через который происходит запись на диск, не скидывается на усройство.
    Нельзя так делать.
    Нужно открытие файла на запись тоже добавить в with, это даст возможность буфферу сохраниться в файл при нештатном выходе из программы, но это не спасет вас от потери данных, если будете прекращать процесс как вы написали.

    Но ваш код можно значительно (на несколько порядков) ускорить, если проделать небольшую оптимизацию.
    Сейчас обход ваших списков имеет квадратичную сложность, а вполне может иметь линейную,

    Но давайте сперва разберемся вот с этой вашей арифметикой, она вызывает беспокойство. Либо вы что-то не понимаете, либо я, а вы просто что-то не договариваете.

    В файле c_variable.csv - 2568 строк, в последней строке товар с артикулом YYCHI.
    в файле c_variation.csv - 6144 строк, в последней строке товар с артикулом YYCHI/RED.

    В новом файле c_pr.csv должно быть 8712 (=6144+2568) строк.


    Смотрите. У вас двойной вложенный цикл. Внешний имеет 2568 итераий, а внутренний 6144 итераций, которые выплняются для каждой из внешних 2568.
    То есть в итоге вы делаете 2568*6144 проверок.
    В выходной файл попадёт минимум 2568 строк, если в c_variation не совпадёт ни одного артикула. Плюс по строке на каждое совпадение. Ок, если в c_variation представлены только артикулы, которые есть в c_variable, то ваш рассчет похож на то, что должно быть.

    Я бы отсортировал перед перебором оба списка по артикулу.
    Если в c_variable артикулы уникальны (не повторяются), то весь перебор можно сделать за один проход. Просто формируем два "курсора", которые будут бежать по двум спискам (каждый по своему). Пока артикулы совпадают, двигается курсор по c_variation, а как только встретилось несовпадение, то перемещается курсор по c_variable. При этом проверок будет вместо 2568*6144 гораздо меньше: 2568+6144.

    Теперь что касается экстренного прерывания работы вашего скрипта. Чего вы хотите добиться? Корректного завершения и полного набора результирующих данных при экстренном закрытии процесса на уровне ОС у вас не получится. Даже не рассчитывайте. Да и зачем это нужно?
    Но чтобы не было недоразумений и непоняностей, вы можете записывать результат во временный файлс рандомным именем, а потом переименовывать его в c_pr.csv только в случае успешного завершения всего скрипта. Недозаписанного результирущего файла тогда у вас не возникнет. Закрывайте дескриптор файла в скрипте правильно, это сделает программу ещё немного надёжнее.
    Если бы у вас були миллионы и миллиарды записей в результате, и стояла задача уметь возобновлять работу скрипта с того места, где его прервали, я бы посоветовал сериализовать состояние время от времени, например выполнив какой-то кусочек данных (не каждую запись, ведь сохранение состояния - это линие накладные расходы).

    В общем в результате вывод такой. Вы сами ломаете работу алгоритма и удивляетесь почему у вас там что-то не работает.
    Может быть случается, что два экземпляра скрипта запускаются у вас одновременно, отчего они мешают друг другу работать. Наведите порядок в коде и отимизируйте перебор, тогда проблема ваша уйдёт.
  • Как сделать ёмкостный сенсор?

    trapwalker
    @trapwalker
    Почему емкостной датчик? Как на счет датчиков холла?
  • Странная ошибка с float в python?

    trapwalker
    @trapwalker Куратор тега Python
    Модератор, скажите, а когда появится отдельный пункт в темах жалоб. Чтоб не писать каждый раз пункты правил и все такое, а сразу указать, что код не отформатирован или картинкой.
  • Почему socket работает только в локальной сети? Как это исправить?

    trapwalker
    @trapwalker Куратор тега Python
    Viktor Stilton, если у вас задача связать сокетом два девайса в разных сетях, то почитайте в первую очередь про port forwarding (как пробросить во внешнюю сеть порт с внутреннего устройства через ваш роутер), про dyn dns (как узнать текущий динамический адрес внешний, который назначил вашему роутеру провайдер), про stun-сервера для пробития NAT и как эту проблему решают торрент-клиенты, например.
    Возможно вам будет полезно узнать ещё про WebRTC и веб-сокеты.
  • Что делать, если неработает скрипт?

    trapwalker
    @trapwalker Куратор тега Python
    Павел Панов, тогда надо идти к фрилансерам
  • Как из jpg сделать epub-fb2?

    trapwalker
    @trapwalker
    Тогда я не понял для чего распознавать текст... Тут его совсем мало.
    Просто вставляйте картинки в fb2 и все. Что за "тома" в имели в виду в вопросе?
  • Нормально ли объединять сущности по паттернам?

    trapwalker
    @trapwalker
    DollyPapper, да я, собственно, хотел просто намекнуть автору вопроса, чтобы не изобретал велосипед, а почитал уже давно придуманные концепции о том, как оранизовать код и распределить его сложность. Судя по постановке вопроса путь у топикстаретра впереди ещё огромный, SOLID пригодится.
  • Как из jpg сделать epub-fb2?

    trapwalker
    @trapwalker
    Kowalsk, картинок никаких не видно. Только слова "Пример"
  • Нормально ли объединять сущности по паттернам?

    trapwalker
    @trapwalker
    DollyPapper, очень даже "при чем", когда речь идёт о том, как сгруппировать фрагменты кода.
    Модули и пакеты не для красоты, они тоже должны подчиняться этим принципам. А их начинают раскладывать "по цвету обложки", а не по зоне ответственности и контексту.
  • Можно ли как-то огранчить opencv по поиску объектов на изображении?

    trapwalker
    @trapwalker Куратор тега Python
    AirronBark,
    я думаю еще доплнительно закрашивать нижний правый штамп(надеюсь в opencv возможно это сделать), чтобы уже ничего не мешалось, потому что этот штамп всегда без изменений.

    Я ж так и посоветовал вам в последнем абзаце ответа. Перечитайте, я дописал там детально.
  • Можно ли как-то огранчить opencv по поиску объектов на изображении?

    trapwalker
    @trapwalker Куратор тега Python
    AirronBark, обрезайте с запасом, ищите координаты таблицы, но вырезайте ее на оригинальном изображении и тоже с запасом.
  • Как заставить даты поменяться?

    trapwalker
    @trapwalker Куратор тега Python
    Nikita235, и как бы мы могли это понять из вашей постановки вопроса?
  • Нормально ли объединять сущности по паттернам?

    trapwalker
    @trapwalker
    Xveeder, раскладывайте по размеру файла. Тогда будет понятно где много кода, а где чуть-чуть.

    Если вы задётесь таким вопросом, то вам еще рано что-то изобретать в этом плане. Прочитайте что такое S.O.L.I.D, читайте больше чужих хороших исходников, изучайте opensource проекты. Такие вопросы возникают чаще всего от малого опыта в разработке.
  • Какой алгоритм использовать для нахождения точки?

    trapwalker
    @trapwalker
    mayton2019, у GPS чуть более сложная задача. Там не известны абсолютные расстояния от спутников до приёмника, приёмнику приходится учитывать эффекты, связанные с терией относительности, вычислять координаты спутников по элементам орбиты...
    А тут всё просто.
  • Как вытащить нужные данные из файла?

    trapwalker
    @trapwalker Куратор тега Python
    mayton2019, вот и вы поддаётесь соблазну пофантазировать, вместо того, чтбы подсказать автору как решить его боль.
    Задачи бывают разные. Может буть ему надо накопившиеся с ошибкой логи перелопатить. Даже если огибку в формате исправили, не хочется терять накопленные данные. Мало ли из-за чего так получилось. Бывает приходешь в новую компанию, а там жопа полная, и, да, её нужно разгребать.
    Если это одноразовая задача, то не грех её обработать хоть питонячьим однострочником, благо есть "py". (кстати, рекомендую).
    Не нужно допридумывать за автора его проблемы. Можно порасспросить о подробностях, если автор поленился ими поделиться или думает, что мы тут и на кофейной гуще можем нагадать решение.
  • Как вытащить нужные данные из файла?

    trapwalker
    @trapwalker Куратор тега Python
    Mr.Robot, приходится работать с теми вводными, что есть. Не придумывать же самим как бы оно было бы лучше на входе... Эдак можно и не угадать.
  • Как вытащить нужные данные из файла?

    trapwalker
    @trapwalker Куратор тега Python
    Mr.Robot, я ж так и сказал. Только вы вот кавычку открывающую дорисовали, а у автора ее нет. Хотя это и не повияет на решение.
  • Как вытащить нужные данные из файла?

    trapwalker
    @trapwalker Куратор тега Python
    Пасечник Кузьмич, ямл сочтет, что это строка без кавычек вовсе, а все кавычки, что там есть - это часть строки