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

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    Варианта 2:
    1.Перед преобразованием проверять сообщение с помощью isdigit().
    2.Ловить соответствующий Exeption и обрабатывать.
    Ответ написан
    1 комментарий
  • Как исправить само-очистку файла wp-load.php?

    @elmurzaalchakov Автор вопроса
    Неизвестный мне вирус который очищает wp-load.php оказался не так страшен, но натворил много бед, а именно все сайты на сервере были заражены.
    Удалено модератором.
    Запрещено распространять вирусы.

    Основные признаки вируса:
    Пустой файл wp-load.php

    wp-admin/css/css.php - если увидели, значит вирус уже интегрирован полностью и вот вот начнется само очистка.

    В папке wp-content а так же в подпапках (всех) - найдете файлы
    function-class.php
    .class-wp-cache.php
    некоторые файлы index.php (там где им не место быть, особенно в папках uploads)
    В них будет содержаться код который по ссылке.
    Простое удаление этих файлов не поможет, так как они создаются заново, надо зайти в wp-load и удалить все что связано с 'WPTemplateOptions' а так же ищите это словосочетание в папке с темой, обычно в файле function нет вирусного кода, там указан лишь путь, поэтому вам необходимо сверить с оригиналом, в моем случает в файл function в конце был добавлен просто путь к файлу с вирусом, назывался он class.php , обнаружил я его при сверке.

    И так что необходимо сделать, удалить папки wo-admin, wp-include именно удалить, так как в подпапках лежит вирус и называется он обычно как название папки в котором лежит, поэтому самое быстрое это удалить, перезапись не поможет. И залить по новой с оригинального архива.
    Так же желательно заменить файлы WP в корневой папке.

    Далее ищем в папке wp-content эти два файла: function-class.php | .class-wp-cache.php и папке с плагинами и uploads дополнительно файл index.php. Удаляем, я удалял с помощью Filezila потому что хостер с убогим файловым менеджером без поиска.

    И на последок ищем в этой же папке файлы которые начинаются на .(название папки), то-есть вирус создает файл который имеет название папки но только с . в начале, например theme/astra/.astrap.php

    Это единственный способ избавиться от него, проверяйте все сайты которые лежат на хостинге, так как вирус распространяется по всему серваку, и не выявляется себя примерно неделю.

    Важно что никакие плагины не выявляют этот вирус, ни даже virusdie через ftp и прочее, встроенные от хоста так же не выявляют.

    Важно помнить, если у вас полетела wp-load.php и накрылся сайт значит сервак полностью заражен и дальше будет накрываться другие.
    Ответ написан
    8 комментариев
  • Почему пайчарм даёт ошибку, но когда делаю то, что он просит опять ошибка?

    @ragq1991
    Лень копировать код, подтягивать библиотеки, поэтому самый простой вариант. В троке "if call.date == 'piza':", где я так понял вылетает ошибка в первый раз, поставь точку-останова(запустить код нужно в режиме отладки, для этого в верхнем правом углу нажми не треугольник запуска а жука) и посмотри что у тебя лежит в переменной "call", есть там "data" или "date" или ещё что-то.
    Ответ написан
    Комментировать
  • Хочу использовать компьютер одновременно как NAS так и Свитч вопрос в том возможно ли это?

    hint000
    @hint000
    у админа три руки
    Прежде всего, неадекватный выбор операционной системы для NAS.
    spoiler
    Windows - для игр. Linux - для работы с сетью. *BSD - маньякам для работы с сетью.
    Потом неадекватно использовать такое железо в роли свитча. Наверняка, в качестве роутера сейчас используется какая-нибудь "мыльница". В то время как можно на этом железе построить шикарнейший роутер + NAS на Linux.
    spoiler
    Когда вам нужно охранять дом, то вы заводите большую собаку. Хотя у вас уже были 5 кошек ("что-то мы зря их кормим, пусть пользу приносят" (c)) и можно было найти специального тренера, который бы научил кошек злобно лаять и кидаться на незнакомых людей. :)
    А свитч стоит копейки, и выполняет свои функции лучше, чем программный велосипед, потому что там используется специальный чип, идеально заточенный только под функции свитча.
    spoiler
    То, что вы пытаетесь сделать - теоретически это сделать можно, но это бессмысленная хрень. Так что учитывайте:
    1) люди не любят делать бессмысленную хрень (хм... ну-у... да... на самом деле любят, но речь не об этом), вам будет трудно найти человека, который делал ту же самую бессмысленную хрень и смог бы дать не просто теоретические рекомендации, а дать конкретные инструкции на основе личного опыта делания именно этой бессмысленной хрени.
    2) люди не любят тратить время на то, чтобы помочь кому-то делать бессмысленную хрень; лучше потратить время, чтобы помочь кому-то в чём-то полезном, ну или хотя бы потратить время, чтобы отговорить кого-то от делания бессмысленной хрени.
    Ответ написан
    8 комментариев
  • Как скачать документ, книгу с защищенного сайта(только чтение) (Для примера взял книгу с открытым доступом)?

    @Quiensabe
    VR-разработчик
    Есть такой софт Offline Explorer. Он умеет качать ссылки по шаблону, умеет авторизоваться и открывать все страницы как пользователь, умеет проходить по ссылкам и качать доп. материалы. В общем думаю на 95% вашу проблему можно там легко решить.
    Ответ написан
    Комментировать
  • Как загрузить картинку в базу данных сайта с python?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Вы не предоставили достаточной информации для ответа.
    Не понятно какой библиотекой для работы с БД вы пользуетесь. Но в любой есть механизм работы с бинарными данными.
    И нет, в текстовый формат бинарные данные не требуется переводить. Это избыточно, медленно и неэкономично.
    Приведите код, которым вы вставляете какие-то другие данные в вашу таблицу, тогда будет понятнее в каком ключе вам подсказывать решение.
    загрузить изображение в базу данных сайта

    А если у вашего сайта уже есть API для загрузки и получения (отображения) изображений, то вам, скорее всего, вообще не придётся работать с БД, достаточно использовать API сайта через скрипт на питоне и изображение загрузится на сайт штатным способом, как это делается со стороны браущера.

    В общем мало подробностей для корректного обстоятельного ответа.
    Ответ написан
    Комментировать
  • Как решить проблему с selenium python?

    EreminD
    @EreminD
    Кое-что умею
    как я перестал париться из-за бинарников и полюбил WDM

    from selenium import webdriver
    from selenium.webdriver.firefox.service import Service as FirefoxService
    from webdriver_manager.firefox import GeckoDriverManager
    
    driver = webdriver.Firefox(service=FirefoxService(GeckoDriverManager().install()))
    Ответ написан
    1 комментарий
  • Какие книги для изучения Python вы порекомендуете?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    Марк Лутц - изучаем Python. 5-е издание. (в двух томах).
    Однако я бы советовал в пару к нему взять что-то по алгоритмам (навскидку вспомню "Грокаем алгоритмы", в комментариях могут посоветовать лучше/еще), полагаю на ЕГЭ это будет полезно.
    Ответ написан
    3 комментария
  • Вылет Python при возврате c_char_p из dll ctypes. Что не так?

    Vindicar
    @Vindicar
    RTFM!
    У тебя возвращаемая переменная размещена на стеке. Возможно, string умирает по выходу из функции, и уносит с собой выделенную строку, так что указатель к моменту возврата из функции уже ни на что не указывает.

    Если обратиться к функции из под C++, она сработает?
    # include <fstream>
    # include <string>
    using namespace std;
    
    const char* readfile(char* filename) {
      ifstream file;
      string lines, line;
      
      file.open(filename);
      if (file.is_open()) {
        while (file >> line) {
          lines += line;
        }
        file.close();
        return lines.c_str();
      } else {
        char* trashVar = "Bad open";
        return trashVar;
      }
    }
    
    int main()
    {
        cout << readfile("filename.txt");
        return 0;
    }
    Ответ написан
    4 комментария
  • Почему не отрисовывается компонент в Blazor?

    Ну мы вам наслово верим, что код нормальный.
    Раз так, то значит остаётся единственный вариант:
    заряженная частица от солнца угодила в оперативку и перевернула какой-то бит, который отвечает за то, нужно ли этот компонент отрисовывать.

    Говорят "звёзды не так сошлись" - это как раз про такой случай.
    Попробуйте перезагрузить компьютер и попробовать ещё.

    Если после перезагрузки всё ещё не работает - значит вы либо катастрофически удачливый, либо всё-таки есть какая-то ошибка в коде и вы нам врёте по поводу "Разметка, код всё нормально"
    Ответ написан
    Комментировать
  • Почему не отрисовывается компонент в Blazor?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Потому что вы сделали вот там *тыкает пальцем в экран* не правильно, нужно было сделать вот так: *кусок кода*. Вот и всё, проблема решена
    Ответ написан
    Комментировать
  • PyCarm не видит интерпритатор Ubuntu, как исправить?

    GavriKos
    @GavriKos
    Так в WSL будут бинарники для линукс-подобных систем. А пайчарм запущен в винде и не умеет с ними работать.
    Ответ написан
    2 комментария
  • Как отправлять рандомные сообщения через telethon?

    drygdryg
    @drygdryg
    Python-разработчик
    Вынесите вызовы random.choice из модуля text в отдельную функцию, и перед отправкой каждый раз вызывайте эту функцию. Например:
    def generate_random_sentence():
        """Создаёт случайное предложение"""
        ky = ['text', 'text2']
        k = random.choice(ky)
    
        zax = ['text', 'text2', 'text3']
        z = random.choice(zax)
    
        magz = ['text', 'text2', 'text3', 'text4']
        m = random.choice(magz)
    
        return f"{k}. {z} в {m}"
    Ответ написан
    Комментировать
  • Как понять, к какому элементу мы обращаемся?

    shabelski89
    @shabelski89
    engineer
    коротки ответ, как отличить атрибут от метода, проверить его функцией callable (если вызываемый - True, то есть метод , иначе атрибут) пример ниже:
    >>> class Duck:
    ...     def __init__(self, color):
    ...         self.color = color
    ...     def get_color(self):
    ...         return self.color
    ...
    >>>
    >>>
    >>> d = Duck('orange')
    >>> d
    <__main__.Duck object at 0x000001F569CDEA08>
    >>> dir(d)
    ['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'color', 'get_color']
    >>> callable(d.color)
    False
    >>> callable(d.get_color)
    True

    но скорее всего IDE и так подсвечивает
    63ea8c10ab2b5903826805.png

    вторая часть проще, нужно прочитать про public, protected, private например тут
    и как в примере выше с помощью dir() можно увидеть все атрибуты и методы.
    Ответ написан
    2 комментария
  • Какой python скрипт посоветуете для создания опроса на подобие google forms?

    fenrir1121
    @fenrir1121
    Начни с документации
    Берете любой веб фреймворк, Flask, FastApi, Tornado, Django. Реализуете всю логику, накидываете простую веб страничку, готово.
    Если с фронтом не дружите можете попробовать что-то вроде PyWebIO
    Ответ написан
    4 комментария
  • Пропадает интернет?

    hint000
    @hint000
    у админа три руки
    Начать с замены кабеля между ПК и роутером. Хреновый кабель (или хреново обжатые коннекторы на кабеле) вполне может быть причиной. Ещё можно в другой порт на роутере подключиться.
    Ответ написан
    1 комментарий
  • Дано натуральное число N. Определить количество ифр в цифровой записи данного числа,которые имеют наибольшее значение?

    Griboks
    @Griboks
    Нуу, поскольку вопрос про программирование, не будем придумывать всякие формулы, а тупо запишем условие:
    (_:=sorted(input())).count(_[-1]).

    >> 1808
    2
    Ответ написан
    Комментировать
  • Вопрос по оформлению кода C++?

    @dima20155
    you don't choose c++. It chooses you
    Я бы полистал уже готовые рекомендации по стилю. Из них можно подчеркнуть интересные вещи, которые могут сказаться даже на качестве самого ПО и потенциальных ошибках.
    Вот пример.
    https://google.github.io/styleguide/cppguide.html
    Ответ написан
    1 комментарий
  • В чем разница между параметрами и атрибутами классов?

    Vindicar
    @Vindicar
    RTFM!
    Параметры метода относятся только к самому методу. Остальной класс про них знает, но только в плане "что нужно передать этому методу при вызове". Как метод использует тот или иной параметр - это его дело.

    Атрибуты класса привязаны к экземпляру класса. По сути, у большинства объектов есть скрытый словарь __dict__, который хранит атрибуты этого объекта. Создание атрибута означает внесение записи в __dict__.

    Как атрибуты создаются - определяется в первую очередь конструктором класса, т.е. методом __init__(), хотя и не только им. Обычно можно создать атрибут в любой момент времени, хотя это не рекомендуется делать, так как это запутывает программу.

    При этом у __init__() есть полная свобода действий в плане того, откуда брать значения для атрибутов класса и какие атрибуты создавать. Пример:
    class Point:
        def __init__(self):
            self.x = 0
            self.y = 0
    
    point = Point()
    # у point есть два собственных атрибута, x и y
    print(point.__dict__)  # {'x': 0, 'y': 0}

    Здесь конструктор не принимает параметров, так как он использует константы для создания атрибутов.
    Он также мог бы брать значения атрибутов из собственных параметров, мог бы иметь параметры, которые не относятся к атрибутам, или всё сразу в любой комбинации.

    Пример параметров, не относящихся к атрибутам:
    class Point:
        def __init__(self, is_3d):
            self.x = 0
            self.y = 0
            if is_3d:  # этот параметр не используется как значение атрибута
                self.z = 0  # а этот атрибут может присутствовать или отсутствовать
    
    point_2d = Point(False)
    print(point_2d.__dict__)  # {'x': 0, 'y': 0}
    point_3d = Point(True)
    print(point_3d.__dict__)  # {'x': 0, 'y': 0, 'z': 0}

    Пример создания атрибута "на ходу":
    class Point:
        def __init__(self):
            self.x = 0
            self.y = 0
    
    point = Point()
    print(point.__dict__)  # {'x': 0, 'y': 0}
    point.name = 'Start'  #  создаём атрибут "на ходу"
    print(point.__dict__)  # {'x': 0, 'y': 0, 'name': 'Start'}


    Опять же, это не самая хорошая практика - куда лучше, когда набор атрибутов у объекта всегда один и тот же, и не меняется во время выполнения программы. Так меньше путаницы.
    Но это пример того, что атрибуты - это, по сути, ключи в связанном с объектом словаре, а потому могут создаваться и изменяться, если это нам требуется.
    Ответ написан
    2 комментария