• Как исправить помехи от светодиодных лент?

    Sly_tom_cat
    @Sly_tom_cat
    .
    Для начала нужно понять в чем суть проблемы.
    Если помехи по питанию то:
    1. развести питание сенсорной системы и исполнительной.
    2. навесить побольше конденсаторов в сеть питания сенсоров.
    Если наводка на датчики от лент, то:
    1. проверить отдельно каждый датчик что на него не влияет свет лент (то что они в видимо спектре светят вовсе не означает что они не могут светить в инфракрасном).
    Ответ написан
    1 комментарий
  • Как можно получить содержимое удалённого архива?

    Sly_tom_cat
    @Sly_tom_cat
    .
    Python в такой задаче особо не нужен.
    Проще на bash-е, запускаем на сервере куда нужно распаковать

    scp <user>@<host2>/<path>/<to>/<tar> <local>/<path>/<to>/<tar>
    tar -xvf <local>/<path>/<to>/<tar>
    rm <local>/<path>/<to>/<tar>
    Ответ написан
  • Как написать код для определения суммарного объема вложенных друг в друга шаров?

    Sly_tom_cat
    @Sly_tom_cat
    .
    Не надо таких неоптимальных алгоритмов.
    Т.е. не надо каждый раз считать объем.

    У вас между стенками всех 12 шаров нет зазоров. т.е. можно весь этот объем считать общим. У нас есть:
    внутри шарообразная полость диаметром 10 и 12 слоев с 5 см стенками, т.е. каждый новый слой увеличивает диаметр на 10.

    Т.о. у вас наружный диаметр = 10 + 10 * 12 = 130

    Далее считаем объем по наружному диаметру и вычитаем объем полости (та же формула но по внутреннему диаметру)

    Никаких циклов - не надо.
    Ответ написан
    Комментировать
  • Почему не работает слияние 2 списков в словарь?

    Sly_tom_cat
    @Sly_tom_cat
    .
    <Удалено, ошибся>

    zip - возвращает объект zip. Хотите из него словарь - сделайте:
    >>> t = [1, 2]
    >>> t1 = [3, 4]
    >>> temp = zip(t, t1)
    >>> print(temp)
    <zip object at 0x7f56be11e208>
    >>> print(dict(temp))
    {1: 3, 2: 4}
    Ответ написан
    2 комментария
  • Какая система лучше всего подходит для х86-роутера?

    Sly_tom_cat
    @Sly_tom_cat
    .
    Ubuntu server - самое большое сообщество и всегда помогут если что не знаешь.

    Но для начала я бы советовал не циклиться на терминале. Поставьте с GUI (LDE/XFCE - довольно легкие). Терминал там тоже есть, но можно рядом броузер открыть с советами и помощью.
    Ответ написан
  • Десптопное приложение на python, что использовать?

    Sly_tom_cat
    @Sly_tom_cat
    .
    GPL продавать позволяет, но требует предоставлять также и исходники.
    Ответ написан
    Комментировать
  • Как считать несколько абзацев из файла в список?

    Sly_tom_cat
    @Sly_tom_cat
    .
    with open('dataset_3363_3.txt') as f:
        p = f.read().split()

    Но такое решение чревато тем что может упасть если файл будет очень большим, поэтому так лучше никогда не делать. Лучше читать построчно. Например так:

    p = []
    with open('dataset_3363_3.txt') as f:
        for l in f:
           p += l.split()

    Результат тот же, но может обработать очень большой файл без падения по переполнению памяти. Хотя и такой вариант можно положить если в большом файле не будет переводов строк.
    Ответ написан
    1 комментарий
  • Как создать установочную флешку в Ubuntu?

    Sly_tom_cat
    @Sly_tom_cat
    .
    sudo cp <путь и имя файла образа> /dev/sd<буква под которой у вас флешка>


    Образ Ubuntu - гибридный, с него можно загрузиться побитно скопировав на CD/DVD и HDD/Flash, при этом установленный там набор загрузчиков позволяет грузиться и в UEFI и в BIOS режимах
    Ответ написан
    Комментировать
  • Как в питоне частично записать JSON в CSV?

    Sly_tom_cat
    @Sly_tom_cat
    .
    Вы получили в output словарь (dict) со значениями.

    Если вы знаете что удалить (и что оно всегда есть) и его не много, то просто del(output["a"]) ... и сохранить урезанный output.

    Если вам надо много удалять, а сохранить надо всего-ничего, то проще вытянуть нужное a = output["a"] и его сохранять.

    Если нужно несколько элементов удалять/вытаскивать, то с-но описанные выше методы делать в цикле.

    На пример:
    #удаление
    for item in ('a', 'b'):
      del(output[item])
    
    
    # выборка
    result = dict()
    for item in ('a', 'b'):
      result[item] = output[item]
    Ответ написан
    Комментировать
  • Как подключить дополнительный диск Ubuntu Server 16.04?

    Sly_tom_cat
    @Sly_tom_cat
    .
    У вас раид настроен на /dev/sda и /dev/sdb :по три раздела на каждом и в зеркале (скорее всего) каждый раздел со своим парным на другом диске.

    /dev/sdc - ваш новый диск.

    Что и как у вас в этом раиде используется - надо смотреть в /etc/fstab.

    Все что дальше написано - это самые общие рекомендации, делать только вдумчиво!

    На новом диске нет таблицы разделов - нужно создать ее через gdisk и создать хотя бы один раздел:

    gdisk /dev/sdc

    и там - по подсказкам

    Затем форматируете раздел
    mkfs.ext4 /dev/sdc1

    Или можете другую ФС выбрать, для XFS например команда будет mkfs.xfs /dev/sdc1

    Затем прописываете /etc/fstab ваш новый раздел на точку монтирования /var (если не знаете как - читайте тут: help.ubuntu.ru/wiki/fstab)

    После этого нужно все текущее содержимое перенести в новый раздел. Для этого:
    монтируем его
    mount /dev/sdc1 /mnt
    копируем
    cp -ar /var /mnt
    размонитруем
    umount /mnt

    После этого проверьте что после перезагрузки все примонтировалось как надо. И когда убедитесь что все ОК можно стереть данные из каталога /var. Но в него у вас по уже монтируется /dev/sdc1.

    На рабочей системе отмонтировать /dev/sdc1 стереть все из каталога /var и примонтировать /dev/sdc1 - может и не получиться. Тогда идем в рекавери консоль и делаем это оттуда.
    Ответ написан
    8 комментариев
  • Почему не работает этот код?

    Sly_tom_cat
    @Sly_tom_cat
    .
    entered = str(input('Enter the string: '))
    
    symbols = "[ ~`!@#$%^&*()_-+={}[]:>;',</?*-+ ]"
    
    def check_spec_characters(entered):
        for every_character in entered:
            if every_character in symbols:
                return 1
            else:
                return 0
    
    check_spec_characters(entered)
    Ответ написан
    Комментировать
  • Как защитить git-репозиторий от компроментации?

    Sly_tom_cat
    @Sly_tom_cat
    .
    Скомпроментировать сервер можно по разному.

    Если на сервере получили удаленно рута то вам ничего не поможет получить с сервера все что на нем размещено.

    И решать такие вопросы нужно не на уровне прикладного софта (к которому относится GIT), а на уровне защиты самого сервера от угроз. Иными словами нужно не о шифровании в гите думать, а о том как защитить сервер от компроментации.
    Ответ написан
    Комментировать
  • Какую версию Python выбрать для изучения?

    Sly_tom_cat
    @Sly_tom_cat
    .
    Учить - 3-й но второй полезно знать.
    Однако второй очень мало отличается от третьего.

    Во втором просто ужасная поддержка Unicode. В 3-м Unicode нормально поддерживается.

    Третий более полноценно реализует ООП модель программирования.
    Ответ написан
    Комментировать
  • Как подружить командную строку Windows c юникодом в программе на Python 3.5?

    Sly_tom_cat
    @Sly_tom_cat
    .
    Все символы unicode просто не могут быть представлены в cp866.
    Если вы на входе имеете utf-8 то в нем python 3+ все прекрасно должен обработать.
    Если вам на выводе нужно поменять кодировку - то менять ее нужно именно на выводе. Т.е. сначала все форматируете а потом енкодите в нужную кодировку.

    Вызов с python и просто исполняемый - различаться в принципе не должны... но возможно у вас две версии питона стоят и с python вы вызываете одну, а при вызове .py по path находится другой.
    Ответ написан
  • Как правильно делать hotfix-ы для предыдущих релизов в рамках git flow?

    Sly_tom_cat
    @Sly_tom_cat
    .
    На мой взгляд, вопрос болше "политический". чем технический.

    Версии поддерживаемые нужно четко отделить от не поддерживаемых.
    Так к примеру есть у меня проектик на питоне, и был он изначально на Python v2.7, но в какой-то момент меня достала "поддержка" юникода во втором питоне. Переполз на 3-й, но т.к. на некоторых платформах есть проблемы с отдельными библиотеками для третьего питона ветку со вторым питоном я отделил и объявил - "для ветки второго питона - только хотфиксы".
    Ветка третьего питона уже так далеко ушла от второго, так что там фиксы для второго один в один просто не подойдут уже. Т.е. один и тот же код фикса я просто уже не могу влить в обе ветки (там в третьем питоне весь код уже переделан на ООП, а во втором - там чисто процедурный подход).

    Вот примерно так я вижу и вашу ситуацию. Если люди хотят фикс в старой версии - то ваше право сделать одно из двух:
    1. Отказать, сказав что старая версия более не поддерживается,
    2. Сделать фикс в старую версию и отдельно сделать фикс в новую (вполне возможно что один в один код для фикса в новой может отличаться от фикса в струю)

    А гит это просто инструмент, как им пользоваться - вы должны решить на основе выбранной политики по поддержке старых версий.
    Ответ написан
    1 комментарий
  • Гит не пуллит и не пушит - что делать?

    Sly_tom_cat
    @Sly_tom_cat
    .
    Ну вам же черным по английски пишут: мердж затрет вам толпу файлов (не отслеживаемых).
    Ответ написан
    Комментировать
  • Как осуществить повторение функции?

    Sly_tom_cat
    @Sly_tom_cat
    .
    Задача запуска по расписанию это что угодно (много вариантов) но НЕ бесконечный цикл ниразу.
    cron/at или запланированные события если программа написана в event-driven стиле.
    Ответ написан
    Комментировать
  • Работа с OC на внешней памяти?

    Sly_tom_cat
    @Sly_tom_cat
    .
    вот тут все описано : help.ubuntu.ru/wiki/ubuntu_%D0%BD%D0%B0_usb
    Ответ написан
    Комментировать
  • Ошибка кодировки, как исправить?

    Sly_tom_cat
    @Sly_tom_cat
    .
    заголовок пишем с указанием кодировки:

    writer.writerow([field.verbose_name.encode("cp1251") for field in fields])


    а строки - без:

    writer.writerow(str(data_row))

    Вот в этом и ошибка.
    Ответ написан
    Комментировать
  • Почему манджаро линукс не видит винду 10?

    Sly_tom_cat
    @Sly_tom_cat
    .
    Поставь с разбивкой вручную - все в один раздел (EXT4). Если нужен своп - то сделай его потом в файле.

    Но с таблицей разделов - явно какая-то проблема.
    Ответ написан