Задать вопрос
Профиль пользователя заблокирован сроком с 1 апреля 2025 г. и навсегда по причине: подозрительная активность
  • Что тут не так?

    borisdenis
    @borisdenis
    Ленив и вреден...
    Вижу код создания инвайта и код его отправки, но в упор не вижу где бот ждет сообщение от пользователя, где он анализирует его текст и принимает решение отправить инвайт или нет.
    Похоже, что всё работает как и задумано, нет кода для чтения поступивших команд - нет реакции на команды.
    Ответ написан
    3 комментария
  • Как происходит присваивание матриц?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    почему это происходит?

    Потому что:
    a = [1,2,3,5,6]
    b = a
    print(id(a))
    print(id(b))
    # 1552394418184
    # 1552394418184

    и A, и B - ссылаются после присваивания на один и тот же объект.

    что делать чтобы такого не было


    b = a.copy()
    print(id(a))
    print(id(b))
    # 1552394980744
    # 1552395031496

    теперь это два разных объекта
    Ответ написан
    1 комментарий
  • Как найти input через Selenium?

    @Held6991 Автор вопроса
    Решил таким способом:
    driver.find_element_by_xpath('//input[contains(@value, "Login")]').click()

    Полезная дока: https://www.toolsqa.com/selenium-webdriver/write-e...
    Ответ написан
    Комментировать
  • Почему пайтон говорит что я дал ему 2 аргумента но я дал только один?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Это свой класс? При объявлении метода create_role потеряли передачу self первым параметром
    Ответ написан
    Комментировать
  • Не получается скомпилировать игру сделанную при помощи pygame, что не так?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Программы на Python не компилируются. Вы просто получили самораспаковывающийся архив, в котором находятся интерпретатор, все необходимые библиотеки и скрипт вашей программы. При запуске рабочей директорией скрипта становится временный каталог, в который архив был распакован. Там ваш скрипт файлы игры и ищет, но не находит.
    Ответ написан
    5 комментариев
  • Как сделать чтобы сообщение Telegram обновлялось пока выполняется другой скрипт?

    Vindicar
    @Vindicar
    RTFM!
    Да, как ни странно, пока выполняется одна часть кода - другая не выполняется. Исключения из этого правила три:
    1. Многопоточность. Каждый поток выполнения может выполнять код независимо от другого. ОС сама заставит их чередоваться, от кода почти ничего не требуется делать. Можно просто взять существующий однопоточный код, и выполнить его в другом потоке. Но проблема в том, что тогда два потока могут помешать друг другу при попытке обратиться к одним и тем же данным ("состояние гонки"). Избежать этого не совсем тривиально.
    2. Многопроцессность. Почти то же самое, что и многопоточность. Имеет кое-какие плюшки, но куда сложнее в использовании.
    3. Асинхронность. В этом случае одна часть кода может приостановить своё выполнение, "уступив место" другой ненадолго. Так как выполнение строго поочерёдное, то состояния гонки не будет. Но с другой стороны, обе части кода должны уметь кооперироваться друг с другом с самого начала. Это потребует полной переработки кода, так как нельзя просто "взять и прикрутить" асинхронность к существующему коду. С другой стороны, боты часто пишутся с использованием асинхронного кода, так что может потребоваться только переработать твой "рабочий" скрипт.

    В общем, выбор между хреном и редькой. Не зная, как реализован бот, и что делает рабочий скрипт, подсказать что-то сложно.
    Ответ написан
    4 комментария
  • AttributeError: module 'discord.guild' has no attribute 'create_text_channel' Что делать?

    Vindicar
    @Vindicar
    RTFM!
    Потому что речь должна идти не о модуле guild, а об экзепляре класса Guild, который можно найти в атрибуте message.channel.guild.
    Ответ написан
    Комментировать
  • Python nmap module проблема со скриптом, не могу вывести нужные параметры, как решить?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    вроде параметр name есть

    А если не угадывать, а проверить?

    Вообще, вы выводите i["service"], и вот вывод у него следующий:
    {'name': 'telnet', 'product': 'Linux telnetd', 'ostype': 'Linux', 'method': 'probed', 'conf': '10'}


    Ключ name лежит не в словаре i, а в i['service']. Так что правильно будет i['service']['name']
    Ответ написан
    3 комментария
  • Как построить архитектуру приложения?

    @dolusMalus
    С++ programmer from gamedev
    К сожалению сложно объективно ответить на ваши вопросы т.к. сфера разработки приложений и программирования уже настолько огромна, что включает в себя гигантское количество областей со своей спецификой и в архитектуре и в стеке технологий. Постараюсь кратко изложить свои мысли и прошу считать частным мнением.
    Увы, готовых рецептов работающих для всех скорей всего не существует и приходится подбирать индивидуально. Однако очень хорошо, что вы задумались о необходимости расширения своих знаний. По небольшому опыту обучения junior'ов могу порекомендовать вам для начала определиться с областью, куда вы хотите развиваться. Это позволит вам использовать roadmap'ы, например, для machine learning и языку используемому в области вроде python, на котором у вас уже есть опыт. Как только вы освоитесь немного с технологиями и простыми проектами, где как раз набьете шишки и наметится понимание используемых приемов проектирования; можете уже пробовать взять какой-то небольшой опенсорсный проект (желательно с документацией + сообществом, где можно вопросы задать) и попробовать разобраться в его устройстве, идеологии, используемых библиотеках. Попробуйте составить упрощенную схему устройства проекта, затем каждой системы и т.п. В процессе разбора должен появится список вопросов или тем для дальнейшего изучения.
    После этого как раз уже можно переходить к серьезной литературе по проектированию и/или просто вписаться в разработку крупного проекта, где вас направят в нужное русло.
    Из общих можете прочитать про паттерны проектирования, которые встретятся в любом случае; но вот применять их без хорошей мотивации не торопитесь. Т.к. singleton например, где-то считается уже антипаттерном и про его существование просят забыть.
    Ответ написан
    Комментировать
  • Как сделать, чтобы бот в статусе выводил кол-во участников на сервере?

    Vindicar
    @Vindicar
    RTFM!
    Взять и сделать.

    1. Ловишь события "бот присоединился к новому серверу"/"участник зашел на сервер"/"участник вышел с сервера"
    2. По приходу события пересчитываешь участников.
    3. Выводишь в статус.

    Есть конкретные вопросы? Читай документацию, или пиши код и выкладывай сюда, обсудим.
    Ответ написан
    Комментировать
  • Как передвинуть символ + в строке через регулярку: приве+т -> прив+ет?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    А зачем тут регулярка?
    text = 'приве+т'
    
    symbol = '+'   # символ
    shift_pos = -1 # на сколько подвинуть
    
    pos = text.find(symbol)
    out = text[:pos] + text[pos+1:]
    out = f'{out[:pos+shift_pos]}{symbol}{out[pos+shift_pos:]}'
    
    print(out)
    # прив+ет
    Ответ написан
    Комментировать
  • Как написать условие в python, где несколько проверок могут быть равны true?

    @alexbprofit
    Junior SE
    try:
      csv_to_parquet(args.csv2parquet[0], args.csv2parquet[1])
      parquet_to_csv(args.parquet2csv[0], args.parquet2csv[1])
      print(get_schema(args.get_schema))
    except Exception:
      print('type: python3 convert.py --help')
    Ответ написан
    Комментировать
  • Как написать условие в python, где несколько проверок могут быть равны true?

    ScriptKiddo
    @ScriptKiddo
    def all_args_is_none(args_list: list) -> bool:
        return all(True if _ is None else False for _ in args_list)
    
    
    def main():
        if args.csv2parquet is not None:
            csv_to_parquet(args.csv2parquet[0], args.csv2parquet[1])
        if args.parquet2csv is not None:
            parquet_to_csv(args.parquet2csv[0], args.parquet2csv[1])
        if args.get_schema is not None:
            print(get_schema(args.get_schema))
    
        if all_args_is_none(args_list=[args.csv2parquet, args.parquet2csv, args.get_schema]):
            print('type: python3 convert.py --help')
    Ответ написан
    Комментировать
  • Как построить архитектуру приложения?

    @dmshar
    Дело в том, что если сейчас (как я понял, после аж полугода изучения программирования) вы начнете что-то читать по архитектуре программных систем - 90% информации, которую вы найдете вы просто не поймете.
    Ну например:
    https://habr.com/ru/post/276593/
    https://www.rea.ru/ru/publications/AttachmentsLibr...
    https://martinfowler.com/architecture/
    https://www.amazon.com/Fundamentals-Software-Archi...
    И это не ваша вина. Просто проектирование архитектуры - это не то, чем занимаются юниор-программисты. Для того, что-бы нормально спроектировать архитектуру мало знать язык программирования - надо знать еще очень много чего "вокруг". От баз данных до особенностей сценариев взаимодействия компонентов типа Peer-to-peer, Клиент-серверной и прочих (коих десятки) , от умения работать с требованиями до навыков написания технического проекта, от умения обосновать выбор (одной из многих) технологий реализации проекта до умения оценки качества программного продукта, от алгоритмизации до многопоточности, соответствующие инструменты (нотации) и очень много чего еще. Этому всему люди учатся годами. Даже в универах, на соответствующих специальностях вводный курс архитектуры ПО часто читают уже магистрам, и все равно этот курс весьма обзорный и ознакомительный. Поэтому не торопитесь. Займитесь пока усовершенствования своих базовых программистских навыков. И самообразованием в области компьютерных технологий. И наработкой практики. Вот когда вы это все освоите - вот тогда и можно будет задуматься о решении архитектурных задач.
    Ответ написан
    Комментировать
  • Можно ли перенаправить вывод сообщений об исключениях в stderr?

    Viktor_T2
    @Viktor_T2
    python developer
    sys.stderr.write(err_msg) - просто вывести что нибудь в stderr

    Перехват ошибки и вывод в stderr:
    import traceback
    try:
        raise ValueError('Ошибка')
    except Exception as e:
        traceback.print_exc()     # выводит в stderr


    И кстати сообщения об исключениях выводятся не в stdout а в stderr
    https://stackoverflow.com/questions/34046703/does-...
    Ответ написан
    1 комментарий
  • Ошибка декодирования строки в base64, что делать?

    Vindicar
    @Vindicar
    RTFM!
    Invalid base64-encoded string: number of data characters (1097) cannot be 1 more than a multiple of 4

    У тебя левые данные в декодируемой строке. Какой-нибудь перевод строки (\n) или подобное не затесался в начало/конец?
    Ответ написан
    Комментировать
  • Как сделать приложение сортировщик на Python?

    @dmshar
    Совет 1.
    - Открыть ЛЮБОЙ учебник по Python (Лутц один из лучших).
    - Найти раздел "Работа с файлами". Изучить (там есть все, что вам надо. Подробно, обычно с примерами и детальными объяснениями).
    - Применить в своей задаче.
    (Кстати, это и есть "Алгоритм написания любой программы на любом языке программирования)"

    Совет 2.
    Хотя "создавать gui" на Python разумеется возможно, но при вашем текущем уровне знания Python рекомендую пока обойтись без этого. Потом, когда изучите основы, приступите и к GUI.
    Ответ написан
    Комментировать
  • Как сделать приложение сортировщик на Python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    при помощи чего я могу получить информацию находящуюся внутри файла

    Очевидно, при помощи функций работы с файлами.

    возможно ли ее получить прямиком из архива

    Да.

    И какой операцией я могу сохранить ее в новый тхт файл?

    Очевидно, операцией записи в файл.

    Есть ли у Пайтона возможность создавать gui

    Есть.
    Ответ написан
    2 комментария