Ответы пользователя по тегу Python
  • Как получить битовое представление скрина для передачи через сокет, не сохраняя его?

    vollossy
    @vollossy
    Веб-разработчик с небольшим опытом работы
    Для изображений с компрессией (скорее всего, вы работаете jpeg, png или чем-то ещё), можно использовать метод Image.save(fp: str | bytes | PathLike[str] | PathL..., передав в качестве параметра fp экземпляр BytesIO.

    В принципе, для работы с байтами в памяти программы, рекомендую использовать этот класс, весьма удобно.
    Ответ написан
    Комментировать
  • Почему не экранируется символ одинарной кавычки?

    vollossy
    @vollossy
    Веб-разработчик с небольшим опытом работы
    Потому что то, что вы видите, это не строковое представление для строки(простите за тавтологию), а ее "техническое" представление. Попробуйте сделать
    >>> print('"Isn\'t," they said.')
    Дело в том, что каждый объект в python может иметь 2 метода: __repr__ и __str__. Первый отвечает за "техническое" представление, которое помогает однозначно идентифицировать объект и используется для отладки и в том числе в REPL, а второй за строковое представление, удобное для чтения человеком. Например, в случае с datetime.date(2021, 6, 1), __repr__ вернет 'datetime.date(2021, 6, 1)', а __str__: '2021-06-01'.

    UPD: увидел обсуждение в комментариях касательно ' и "
    > Почему в вышеуказанном примере бэкслэш выводится, в примере ниже - нет?
    >>> "\"Yes,\" they said."
    '"Yes," they said.'

    Тут штука в том, что двойные кавычки это что-то вроде синтаксического сахара, который позволяет нам вставлять всякие непечатаемые символы, а также использовать переменные(как f-строки или r-строки). В итоге их отображение все равно приводит их к виду одинарных кавычек с соответствующим форматированием. Для одинарных кавычек обратный слеш при работе с двойными не нужен, поэтому он и не отображается.
    Ответ написан
    2 комментария
  • Как сделать thumbnail в pyhton pillow для svg?

    vollossy
    @vollossy
    Веб-разработчик с небольшим опытом работы
    Для svg это не имеет смысла, т.к. это векторный формат изображений и там у вас не массив пикселей, а геометрические фигуры, описанные набором свойств, поэтому они могут масштабироваться как угодно.
    По этой же причине у вас режется качество при уменьшении: pillow переводит svg в растр и масштабирует его.
    Ответ написан
  • Каким образом можно использовать socks-прокси в python 3.4?

    vollossy
    @vollossy Автор вопроса
    Веб-разработчик с небольшим опытом работы
    Нашел ответ сам. Можно воспользоваться PySocks. Вот небольшой пример, как пропатчить родную библиотеку для работы с SOCKS(взят из документации библиотеки):
    import socket
    import socks
    import urllib2
    
    socks.set_default_proxy(socks.SOCKS5, "localhost")
    socket.socket = socks.socksocket
    
    urllib2.urlopen("http://...")
    Ответ написан