Задать вопрос
  • Как убрать ошибку при выведении в окно типа text из текстового файла docx?

    Vindicar
    @Vindicar
    RTFM!
    if var == 0:
    Так не сработает. Нужно
    if var.get() == 0:
    Ответ написан
    Комментировать
  • Как достать значение объекта из json?

    Vindicar
    @Vindicar
    RTFM!
    data - это словарь, а не список. Будь внимателен.
    А у словаря перебираются ключи, а не значения.
    Так что либо так:
    for key in data:
        print(data[key]["bar"])

    Либо так:
    for value in data.values():
        print(value["bar"])
    Ответ написан
  • Как максимально просто и быстро переименовать файлы по маске?

    Vindicar
    @Vindicar
    RTFM!
    1. Составляешь список интересующих тебя файлов с помощью модуля glob или pathlib.
    2. С помощью регулярного выражения "\d+" (модуль re), вытаскиваешь из имен файлов последовательности цифр. Если их несколько, тебе придётся придумать критерий, какую брать (например, последнюю). Определяешь наибольшее количество разрядов.
    3. Снова проходишься по списку имен с помощью re.sub(). Второй аргумент re.sub() может быть не только строкой для замены, но и функцией - просто делаешь функцию, которая дополняет входящую строку нулями до желаемой ширины и возвращает её.
    4. Если новая строка (с заменой) отличается от оригинальной, то переименовываешь файл с оригинальным именем в файл с новым именем, иначе оставляешь как есть.
    Ответ написан
    Комментировать
  • Как лучше хранить пути к файлам в модуле?

    Vindicar
    @Vindicar
    RTFM!
    Пути к каким файлам, собственно?
    Я бы делал их относительными, и при старте сшивал с путём, по которому лежит скрипт. В принципе можно эту логику вынести в отдельный класс, если хочешь.
    Ответ написан
    Комментировать
  • Как сделать такое?

    Vindicar
    @Vindicar
    RTFM!
    discord.py не поддерживает слэш команды, посмотри в сторону dislash - она вроде спроектирована для работы совместно с discord.py.
    Либо можно посмотреть в сторону форков discord.py, типа pycord или nextcord.
    Ответ написан
    Комментировать
  • Как в If записать промежуток между 1 и 35?

    Vindicar
    @Vindicar
    RTFM!
    if 1 <= int(HP) <= 35:
        aboba()
    Ответ написан
  • Как сделать что бы участник сервера дискорд мог задать вопрос разработчику через бота discord.py?

    Vindicar
    @Vindicar
    RTFM!
    Взять и сделать.
    Обработчик на команду (если хочешь использовать help, придётся отключить встроенный help), который посылает принятую в параметрах команды строку в заранее заданный (по ID) канал.
    Как писать обработчики команд, приведено в докуменации на discord.py. Чуть подробнее почитай, как получить строку из нескольких слов, чтобы не пришлось писать !help "у меня такой вопрос", а можно было писать !help у меня такой вопрос.
    Как получить канал - ищи в документации Client.get_channel() и описание объекта канала - PrivateChannel для прямых сообщений и GuildChannel для канала на сервере, смотря куда хочешь писать.
    В чем конкретно проблема?
    Ответ написан
  • Как сократить код?

    Vindicar
    @Vindicar
    RTFM!
    if (k.count("A") + k.count("B")) == 2:
    Ответ написан
    Комментировать
  • Обнулить значения всех инициализированных дескрипторов?

    Vindicar
    @Vindicar
    RTFM!
    Ну вообще - зачем тебе такое? Но если очень хочется...

    Ты хочешь обнулять только поля типа Price? Тогда не нужно хранить ссылки на владельцев, достаточно хранить ссылки на все экземпляры Price и присвоить им value = None или что ты там используешь как метку удалённого значения.

    Но прямо скажу, это странное решение.
    Ответ написан
    Комментировать
  • Какое решение проблемы?

    Vindicar
    @Vindicar
    RTFM!
    Оставляя за кадром удачность решения с несколькими таблицами, содержащими одинаковые данные, скажу так.
    Сначала сверяешь количество строк в таблицах, если не равно - дальше можно не смотреть, они не совпадают.
    Потом сортируешь обе таблицы по сравниваемому столбцу, и сравниваешь значения из этого столбца попарно.
    Если есть хоть одно расхождение, таблицы не совпадают.
    Ответ написан
    1 комментарий
  • Перезапуск python скрипта с определенной строки?

    Vindicar
    @Vindicar
    RTFM!
    Нет и не будет. Пример:
    a = 1
    b = 2
    print(a+b)

    Объясни, какое поведение ты ожидаешь от перезапуска скрипта с третьей строки, не выполняя первых двух.
    Ответ написан
    3 комментария
  • Как перенаправлять уведомления из группы Discord в Telegram?

    Vindicar
    @Vindicar
    RTFM!
    Используй комбинацию discord.py и aiogram. Придётся вчитаться в документацию, чтобы понять как запустить их вместе. Как поймешь - дальше просто, прописываешь обработчик сообщений от дискорда, проверяешь сообщение на предмет уведомление ли это, если да - переотправляешь в aiogram.

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

    Vindicar
    @Vindicar
    RTFM!
    Выше LXSTVAYNE тебе хороший совет дал, а я напишу кодом.
    Описываешь базовый класс и наследуешься от него:
    class WordComparator:
        def compare(self, word1: str, word2: str) -> int:
            "Вернет -1 если первое слово лучше, 1 если второе слово лучше, 0 если они одинаково хороши"
            raise NotImplementedError #реализации у нас нет
    
    class LongestWordWins(WordComparator):
        def compare(self, word1: str, word2: str) -> int:
            l1, l2 = len(word1), len(word2)
            if l1 > l2:
                return -1
            elif l1 < l2:
                return 1
            else:
                return 0
    
    class ShortestWordWins(WordComparator):
        def compare(self, word1: str, word2: str) -> int:
            l1, l2 = len(word1), len(word2)
            if l1 > l2:
                return 1
            elif l1 < l2:
                return -1
            else:
                return 0

    Затем ты передаёшь в класс, реализующий игровую логику, экземпляр одного из двух классов, и обращаешься к его методу compare() когда тебе надо сравнить два слова.
    Это называется паттерн "стратегия".
    Ответ написан
    Комментировать
  • Почема фласк не там ищет стили и не правильно работают ссылки?

    Vindicar
    @Vindicar
    RTFM!
    Как выглядят ссылки? Относительные небось, типа "some/other/page"?
    Если да, то у меня плохие новости - они работают относительно текущего адреса.
    А если нет, то приведи пример ссылок.
    Ответ написан
    Комментировать
  • Почему в numpy берется только тонкая полоска изображения?

    Vindicar
    @Vindicar
    RTFM!
    Погоди, а что за ересь ты вообще творишь?
    im = Image.open('IMG_7760.JPG')
    a = np.asarray(im) # a - трёхмерный массив numpy (высота; ширина; каналы)
    
    for bb in a: # перебираешь элементы по первому индексу (высоте), т.е. строки изображения
        np.random.random((1,1,1)) * a #умножаешь каждый элемент (кортеж RGB) строки на одно и то же случайное число
        #и всё. Полученное произведение выбрасывается за ненадобностью. Оригинальное значение ты не заменяешь ведь.
        im = Image.fromarray(bb) #*строку* превращаешь в объект PIL.Image
        im.save('2222.JPG') #и сохраняешь этот объект в файл
        print(bb) #и выводишь на экран

    Питон делает ровно то, что ты у него просишь.
    Ответ написан
  • PyQT5. Открытие файла в textEdition в дочернем окне. Как реализовать?

    Vindicar
    @Vindicar
    RTFM!
    self.win = text.Ui_Text()

    Ты уверен, что при конструировании объекта окна автоматически вызовется его метод setupUi()?
    Ответ написан
    1 комментарий
  • Как реализовать поиск в sqlite на python?

    Vindicar
    @Vindicar
    RTFM!
    Это называется "нечеткий поиск", и это непростая тема. Как говорится в одном анекдоте, "длина, ширина, высота и глубина - это совсем не то же, что длинка, ширинка, высотка и глубинка".
    Ответ написан
    6 комментариев
  • TypeError: 'NoneType' object cannot be interpreted as an integer как исправить?

    Vindicar
    @Vindicar
    RTFM!
    startfile() returns as soon as the associated application is launched. There is no option to wait for the application to close, and no way to retrieve the application’s exit status.


    Ты не имеешь контроля над приложением, после того как ты его запустил через startfile(). Функция возвращает None и только None.

    os.close() предназначена для закрытия файловых дескрипторов, почему ты вообще пытаешься её использовать тут?

    Короче, ты творишь какую-то ересь, и ошибка тут не в том, что None нельзя преобразовать в целое.
    Ответ написан
    2 комментария
  • Почему не запускается?

    Vindicar
    @Vindicar
    RTFM!
    # HELP
    bot.remove_command("help")
    @bot.command(command/help.py)
    
    # PROFILE
    bot.remove_command("profile")
    @bot.command(command/profile.py)

    У меня такое чувство, что ты не вполне понимаешь что такое декоратор и как им пользоваться.
    Да и конструкция вида command/profile.py не является синтаксически корректной в питоне.
    Подучи основы языка. Вот кроме шуток.
    Марк Лутц, "Изучаем Питон", 4е издание.
    Потом вернёшься к боту, и уже не будешь спотыкаться на таких пустяках.
    Ответ написан
    Комментировать
  • Как использовать asyncio внутри Thread Python?

    Vindicar
    @Vindicar
    RTFM!
    Во-первых, несколько асинхронных задач прекрасно уживаются друг с другом. На кой тебе вообще нужны потоки для этого? Чем не устроил loop.create_task(), или asyncio.gather()?

    Во-вторых, куда проще завернуть долгий синхронный код в поток, а уже поток - в асинхронную задачу, чем наоборот. Подумай над этим.

    В-третьих, технически ты можешь создавать свой цикл реактора (asyncio loop) в каждом потоке. Почитай доки на asyncio как это делается. Но нужно помнить, что async-объекты из разных реакторов не дружат друг с другом. Так что подчеркиваю красным: не надо это делать. Лучше сначала попробуй по-иному подойти к проблеме.
    Ответ написан
    4 комментария