• Как пропускать значение, если оно уже было получено?

    paledev
    @paledev
    если значение такое же, то continue, если нет то принт и значение той переменной меняется на новое
    Ответ написан
    Комментировать
  • Как указывать пути к файлу в Kivy?

    Vindicar
    @Vindicar
    RTFM!
    file = open('Файл.txt', 'r', encoding = 'utf-8'), то есть работаю с файлом, который находится в папке с main.py,

    Неправильно. Ты работаешь с файлом, который находится в текущем рабочем каталоге, так как ты указал относительный путь (т.е. не от корня диска).
    Текущий рабочий каталог может совпадать или не совпадать с каталогом, в котором находится скрипт. Это зависит от поведения программы, которая скрипт запускает, будь то проводник винды, командная строка или ещё что. Кроме того, программа может менять свой текущий рабочий каталог при желании.
    Иными словами, ты не контролируешь, какой будет рабочий каталог на момент запуска программы - разве что поменяешь его самостоятельно.
    Так что лучше указывать абсолютный путь. Самый простой способ - получить из sys.argv[0] путь к скрипту и подняться на уровень выше. Вот тогда получишь путь к папке где лежит твой скрипт. И от этого пути уже отталкивайся.
    Операции с путями удобнее всего делать с помощью pathlib, или по старинке с помощью os.path.
    Ответ написан
    Комментировать
  • Как создать баркод?

    Vindicar
    @Vindicar
    RTFM!
    Вряд ли какая-то библиотека для создания штрихкодов это позволяет.
    Так что генерируй штрихкод как умеешь, а потом вставь его в большее изображение с помощью Pillow.
    Ответ написан
    Комментировать
  • Как создать баркод?

    danila763
    @danila763
    Учу python, sql
    import barcode
    from barcode.writer import ImageWriter
    from io import BytesIO
    from PIL import Image, ImageDraw, ImageFont
    
    # Создаем файл в оперативной памяти
    fp = BytesIO()
    # Создаем основу баркода
    EAN = barcode.get_barcode_class('ean13')
    # Подключаем шрифт чтобы писать текст на русском
    font = ImageFont.truetype("arial.ttf", size=32)
    
    # Создаем баркод с на основе числа 012345678910
    EAN('012345678910', writer=ImageWriter()).write(fp)
    
    # Преобразовываем баркод в изображение
    image = Image.open(fp)
    
    # Сохраняем размеры изображения
    width, height = image.size
    # Увеличиваем изобраение вниз на 100 пикселей
    image = image.crop((0, 0, width, height+100))
    
    # Создаем объект рисовалки
    draw = ImageDraw.Draw(image)
    
    # Закрашиваем дорисованную часть изображения в белый
    draw.rectangle((0, height, width, height+100), fill='white')
    
    # Пишем текст
    draw.text((75, height + 18), "Ваш текст", fill='black', font=font)
    
    # Для центрирования текста по высоте, к высоте прибавить
    # половину добавленного пространства минус размер шрифта
    # (100 / 2 - 32 = 18)
    
    # Раскоментировать и указать путь
    # image.save("D:/barcode.png")
    image.show()


    618150a5ea83f672334891.png
    Ответ написан
    Комментировать