Задать вопрос
Ответы пользователя по тегу Python
  • Не запускается exe на .Py Почему?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    "Ухе" твой не на питоне, а на другом языке. Он распаковывает твой "проект" на питоне и запускает интерпретатор с указанием py файла.
    Проблема у тебя в том, что ты упаковал в ухе не все файлы
    Ответ написан
    Комментировать
  • Какой проект подойдет для Джуниора Python?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    Разумные люди используют питон как часть проекта. В соло питон применим только как бэк или как скрипт для бота или одноразовый скрипт для выполнения работ.
    Исключительно на питоне ты не напишешь хороший проект, который можно именно показать в деле.

    P.S. Сейчас конечно меня ткнут в фреймворки на питоне для GUI и игровые движки, но это не более чем баловство.
    Ответ написан
    Комментировать
  • Python3 выдает ошибку no such file or directory?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    Без расширения файл создай
    Ответ написан
    Комментировать
  • Как получить переменную в нормальном виде?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    Неужели сложно приложить небольшие усилия, которые даже усилиями не назвать, и узнать, что возвращает execute? Он возвращает же не строку. Это твой print переводит в строку и показывает тебе
    Ответ написан
    Комментировать
  • Как сделать чтоб программа автоматически создавала переменные в Python?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    Много переменных - это массив (словарь), братан
    Ответ написан
    Комментировать
  • Как перевести timestamp в дату?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    import datetime
    timestamp = '1617379300373+0200'.split('+')
    time = float(timestamp[0]) / 1000
    time_change = datetime.timedelta(hours=int(timestamp[1][0:2]), minutes=int(timestamp[1][2:]))
    dt = datetime.datetime.fromtimestamp(time) + time_change
    print(dt)


    Делим строку на стамп и часовой пояс.
    Переводим строку стампа в дробное и делим на 1000. (мс в сек)
    Забираем часовой пояс из второй части, переводим в часы и минуты
    Переводим стамп в datetime и прибавляем часовой пояс
    Ответ написан
    Комментировать
  • За что отвечает эта строка?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    Это размер буфера, который будет выделен внутри метода шифрования. Чем больше буфер, тем быстрее будет происходить шифрование. Буфер отвечает за размер порции, которая будет читаться из файла (в данном случае).
    Ответ написан
    Комментировать
  • Как сделать анимированную загрузку?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    window.mainloop() должен быть в основном потоке. Т.е. не нужно его запускать в отдельном.
    И указывать метод для target нужно без скобок, т.к. ты передаешь ссылку на метод dow, а если указываешь скобки, то метод сначала выполняется, а потом передается результат его выполнения. А т.к. у тебя там цикл бесконечный, то он бесконечно выполняется (вне потока)
    from tkinter import *
    import  time
    from threading import *
    
    DoLoading = False
    
    def dow():
        global DoLoading
        while DoLoading:
            window.title("Загрузка.")
            time.sleep(1)
            window.title("Загрузка..")
            time.sleep(1)
            window.title("Загрузка...")
            time.sleep(1)
            window.title("Загрузка....")
            time.sleep(1)
        window.title("Готов")
    
    def loading():
        global DoLoading
        DoLoading = True
        Thread(target = dow).start()
    
    def loading_stop():
        global DoLoading
        DoLoading = False      
    
    window = Tk()
    window.geometry('600x450')
    window.resizable(width=False, height=False)
    btn = Button(window, text="Готово", command=loading_stop)  
    btn.grid(column=1, row=0)  
    
    loading()
    window.mainloop()
    Ответ написан
  • Можно использовать sqlite3 в асинхронном боте?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    Достаточно организовать очередь запросов. Т.е. пока идёт один запрос, не позволять выполнять второй.
    Если на бд нет большой нагрузки, то sqlite справится с этим.
    В противном случае воспользуйтесь любой клиент-серверной БД.
    Ответ написан
    Комментировать
  • Что значит фраза "пайтон, язык с самым полным ООП"?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    Это ложное утверждение

    Wiki
    Дизайн языка Python построен вокруг объектно-ориентированной модели программирования. Реализация ООП в Python является хорошо продуманной, но вместе с тем достаточно специфической по сравнению с другими объектно-ориентированными языками. В языке всё является объектами — либо экземплярами классов, либо экземплярами метаклассов. Исключением является базовый встроенный метакласс type. Таким образом, классы на самом деле являются экземплярами метаклассов, а производные метаклассы являются экземплярами метакласса type. Метаклассы являются частью концепции метапрограммирования и предоставляют возможность управления наследованием классов, что позволяет создавать абстрактные классы, регистрировать классы или добавлять в них какой-либо программный интерфейс в рамках библиотеки или фреймворка[22].

    Классы по своей сути представляют план или описание того, как создать объект, и хранят в себе описание атрибутов объекта и методов для работы с ним. Парадигма ООП основывается на инкапсуляции, наследовании и полиморфизме[80]. Инкапсуляция в Python представлена возможностью хранения публичных и скрытых атрибутов (полей) в объекте с предоставлением методов для работы с ними[80], при этом на самом деле все атрибуты являются публичными, но для пометки скрытых атрибутов существует соглашение об именовании[81]. Наследование позволяет создавать производные объекты без необходимости повторного написания кода, а полиморфизм заключается в возможности переопределения любых методов объекта (в Python все методы являются виртуальными[81]), а также в перегрузке методов и операторов. Перегрузка методов в Python реализуется за счёт возможности вызова одного и того же метода с разным набором аргументов[80]. Особенностью Python является возможность модифицировать классы после их объявления, добавляя в них новые атрибуты и методы[36], также можно модифицировать и сами объекты, в результате чего классы могут использоваться как структуры для хранения произвольных данных[81].

    https://ru.wikipedia.org/wiki/Python
    Ответ написан
    Комментировать
  • Как вызвать одну функцию с аргументами из другой?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    с аргументами из другой

    У функции, которая просто существует - нет аргументов, которые ты можешь взять.

    Функция вызывается С АРГУМЕНТАМИ. Ты вызываешь функцию С АРГУМЕНТАМИ.
    Когда кто-то вызывает функцию, передавая в неё АРГУМЕНТЫ, она их использует.

    Ты вызываешь функцию soska(call), где call - это аргумент. Это данные. Переменная со значением или просто значение.
    call = 'id123'
    soska(call)


    Функция soska вызывается со значением 'id123'.
    Ответ написан
    Комментировать
  • Как ограничить диапазон генерированных чисел?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    random.randint(100, 700)
    Ответ написан
  • Как в python tkinter загрузить ярлык как картинку?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    ЧЕ? Ты че ваще хочешь сделать? Ярлык в Windows - это файл, содержащий структуру в которой есть путь к файлу, на который ссылается ярлык и другие данные (путь к иконке, описание, хинт).
    Что ты хочешь сделать, когда передаешь в PhotoImage файл не картинки?

    Чтоб загрузить в PhotoImage файл, на который ссылается ярлык, нужно наоборот сделать чтение ярлыка и получение пути до файла
    Ответ написан
  • Как сделать бота-повторяшку?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    Зачем текст проверять, если он должен его просто повторять?
    if repeatMode:
      test(chatid, message)
    else:
      if message == '!повторять':
        repeatMode = true
      .. остальной код ответов
    Ответ написан
  • Почему вылетает поток в QThreads?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    Ты программу-то держи запущенной, иначе после запуска потоков она у тебя отправится в завершение и вот ты получаешь ошибку
    Ответ написан
    3 комментария
  • Программа рисующая графики странно отображает графики тригонометрических функций.Как исправить?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    Линии она не рисует от точки к точке, рисует только вычисленные точки

    Метод def TkGraph(): у тебя рисует только точки:
    canvas.create_oval(xgraph, y, xgraph+2, y+2, fill="black")

    Рисуй линию от предыдущей точки

    Они страдают той же проблемой(смотрел вот этот )

    Это питон страдает от студентов...
    Ответ написан
  • Почему не запускается бот дискорд на discord.py?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    Потому что вы их не умеете писать (читай "копировать")
    Ответ написан
  • Как записать видео с экрана?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    Получай скриншот рабочего стола и кодируй в видео
    Ответ написан
    Комментировать
  • Как запустить одновременно две бесконечные функции?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    thread1 = Thread(target=main())

    Тут питон думает, что ты хочешь положить в target значение, которое вернётся из main(). Т.е. перед тем как запустить "поток" он вызовет main() чтоб получить результат, а у тебя там бесконечный цикл.

    Чтоб передать "ссылку" на метод, укажи инструкцию lambda: перед нужным методом

    thread1 = Thread(target=lambda: main())
    thread2 = Thread(target=lambda: executor.start_polling(dp))
    Ответ написан
    1 комментарий