• Как записать анимацию для кейса?

    DarkWood
    @DarkWood
    Затем, что при записи подобного видео нужны точные тайминги. Или последующий монтаж. И наложение эффектов. А в анимации вы сразу делаете всё и вообще здесь много больше возможностей.
  • Illustrator - два вопроса, уменьшение размера без искажения и обрезание обектов?

    DarkWood
    @DarkWood
    по идее тож должен скрывать что не в нем
    Вот сами пишите, но не видите. Посмотрите внимательнее. Что находится у вас за пределами обтравочного контура? То, что вы называете "верх" или центр логотипа. Логично, что он обрезается? Логично.

    Рисовать маску можно каким угодно инструментом, только в правильном месте. Ну и да, обтравочный контур и обтравочная маска - одно и то же.
  • Фотошоп, иллюстратор, два вопроса, печать и как перенести вектор из фотошопа в иллюстратор без потери?

    DarkWood
    @DarkWood
    есть более опытный человек который знает как лучше сделать чтобы не пришлось много чего править.
    Опытные люди вам еще в первом вашем вопросе писали, что нужно сделать, чтобы не пришлось много править. Но вы же лучше знаете, правда? Я с таким профессионалом даже спорить не буду.
  • Как правильно обработать None для аргументов в argparse?

    DarkWood
    @DarkWood Автор вопроса
    longclaps, спасибо. Правда, я ожидал чего-то более элегантного.
  • Как правильно обработать None для аргументов в argparse?

    DarkWood
    @DarkWood Автор вопроса
    longclaps, только в этом случае аргумент, которому не передавалось значение из командной строки, будет отрабатывать со значением по умолчанию. Мне нужно четко: было передано значение аргументу - он работает, не было передано - не работает ни в каком виде. И я знаю, что так можно.

    Возьмем, например, ffmpeg. Там куча аргументов. И каждый из них работает только если ему было передано значение.
  • Как правильно обработать None для аргументов в argparse?

    DarkWood
    @DarkWood Автор вопроса
    longclaps, скажите, пожалуйста, вы умеете читать? А то, может, и правда нет?

    Вы понимаете значение слова "тестовый"?

    Зачем вы мне рассказываете что делает json.load? Зачем вам файлы, которые не имеют никакого значения для вопроса? Как и представленные функции, повторюсь уже в который раз.

    Код до использования аргументов может быть совершенно любым. Сути вопроса это не изменит.

    import argparse
    import sys
    
    parser = argparse.ArgumentParser()
    
    parser.add_argument('-u', '--up')
    parser.add_argument('-l', '--low')
    
    if __name__ == "__main__":
        namespace = parser.parse_args(sys.argv[1:])
        print(namespace.up.upper())

    При передаче одного аргумента всё отработает прекрасно.
    prog.py -u test
    TEST


    А если я добавлю в коде вызов второго аргумента, но передам только один, то получу ту ошибку, решение и понимание которой я пытаюсь найти.

    import argparse
    import sys
    
    parser = argparse.ArgumentParser()
    
    parser.add_argument('-u', '--up')
    parser.add_argument('-l', '--low')
    
    if __name__ == "__main__":
        namespace = parser.parse_args(sys.argv[1:])
        print(namespace.up.upper())
        print(namespace.low.lower())

    prog.py -u test
    Traceback (most recent call last):
      File "prog.py", line 12, in <module>
        print(namespace.low.lower())
    AttributeError: 'NoneType' object has no attribute 'lower'

    Я вам еще раз повторюсь, что вопрос не про функции и словари, а про None для тех аргументов командной строки, которые не были переданы в конкретный вызов. Я хочу, чтобы переданный отработал спокойно, а не переданные не вызывали ошибок.
  • Как правильно обработать None для аргументов в argparse?

    DarkWood
    @DarkWood Автор вопроса
    longclaps, да, читать - не ваш конек. Вы опять зачем-то пишите мне про словари. И зачем-то переписываете функции, которые несут в моем вопросе минимум смысловой нагрузки. Тем временем, не вызванный аргумент по-прежнему будет отдавать ошибку обработки None. Например,

    prog.py --add qwe=rty
    Traceback (most recent call last):
      File "E:\Useful\python_work\my_projects\video_watcher\argparse_test.py", line 12, in <module>
        for k in args.check:
    TypeError: 'NoneType' object is not iterable


    Так что я бы поспорил с тем кому "трудно втыкать в несколько вещей".
  • Как правильно обработать None для аргументов в argparse?

    DarkWood
    @DarkWood Автор вопроса
    Код выше, описание выше, вопрос выше. Пояснения в этим комментариях и к ответу ниже.

    Не ищите здесь скрытых камней. Я хочу понять ровно то, что написал: как оперировать несколькими аргументами в argparse.
  • Как правильно обработать None для аргументов в argparse?

    DarkWood
    @DarkWood Автор вопроса
    Спасибо за ответ. Но приведенный пример именно тестовый, на котором я пытался понять как работают несколько аргументов в argparse. В реальном проекте аргументов будет около десятка. Соответственно, как я понимаю, мне нужно будет проверять какие были переданы? Вы написали "заполнение параметров в namespace" - это довольно точно описывает то, что я хочу понять. Если аргумент не вызывался и имеет None в namespace, то я не получаю никаких ошибок, а вызванные спокойно отрабатывают.
  • Как правильно обработать None для аргументов в argparse?

    DarkWood
    @DarkWood Автор вопроса
    Я специализируюсь на Adobe Illustrator и мне часто тоже приходится читать кучу всякого странного в вопросах пользователей. Включая идиотизм. Для ответа я вижу три варианта: корректно объяснить в чем ошибка помимо основного вопроса, если таковая была; пропустить и ответить по существу; написать подобное вашему. Можно еще в Google отправить, если вещь совсем ясельная.

    Я тоже иногда отвечаю как вы сейчас. Но количество идиотизма это не уменьшает. Потому чаще всё-таки пропускаю мимо. И прошу вас понять, что по теме Python он тоже не уменьшиться, что бы вы ни писали. Учитывая, что язык доступен из каждого утюга - количество идиотизма в обозримом будущем будет только расти.

    Ну и вернемся к моему вопросу. Раз вы спрашиваете в чем суть, что, возможно, не потрудились прочитать его описание. Вопрос заключается не в работе со словарями, а в правильной организации взаимодействия с несколькими аргументами командной строки, когда был вызван только один из них, а другие выдают невозможность обработки значения None. Я честно написал, что не понимаю как это сделать.
  • Как правильно обработать None для аргументов в argparse?

    DarkWood
    @DarkWood Автор вопроса
    longclaps,
    Во-первых, какое отношение ваш комментарий имеет к сути?
    Во-вторых, что вас не устраивает в процитированном куске кода?
  • Почему не работает выравнивание в фигуре?

    DarkWood
    @DarkWood
    Хм... Честно говоря, не знаю с чем это может быть связано.
  • Почему не работает выравнивание в фигуре?

    DarkWood
    @DarkWood
    Фигура векторная? Как выделена?
  • Как соединить фигуры?

    DarkWood
    @DarkWood
    Забыл добавить: если будете делать через "умные" направляющие, то отключите перед этим любые другие привязки (к сетке, пикселям и прочему) - они имеют более высокий приоритет.
  • Как соединить фигуры?

    DarkWood
    @DarkWood
    Нажмите сочетание Ctrl+Y и посмотрите как у вас контуры совмещены. Подозреваю, что никак, если указанные действие не приносят результата. Совмещение должно быть точным. Сделать его можно либо через Smart Guides (Ctrl+U) либо через панель Align.
  • Как поставить направляющую при выделеном тексте?

    DarkWood
    @DarkWood
    Прошу прощения. Хоть вы и показали наглядно, но не совсем верно понял вопрос.
    Ответ есть ниже, но если вы хотите автоматизации, то в Photoshop я такой не знаю. Знаю в Illustrator. Если понадобится - напишите.
  • Как установить Grab на Windows 10 (Python 3.7)?

    DarkWood
    @DarkWood
    Библиотека же была установлена не через pip. Вот он и не может ее удалить. Честно говоря, тут не подскажу как быть.
  • Как установить Grab на Windows 10 (Python 3.7)?

    DarkWood
    @DarkWood
    Роман, в документации написано не "не поддерживается", а "может работать нестабильно":

    Do not use the recent version of pycurl (7.43.0 at the moment). This version fails randomly on windows platform.


    У меня установлено:
    python 3.7.2
    grab 0.6.41
    pycurl 7.43.1

    Конечно, выборка совсем не репрезентативная, но работает хорошо. Парсил форум на 3+ миллиона ID пользователей.