Задать вопрос
Ответы пользователя по тегу Python
  • Как пололучить int8 из байта?

    @rPman
    пакет struct метод unpack
    data=b'\xc8'
    struct.unpack('b', data)[0]

    data типа bytes, можно считывать из файла, открывая как бинарный файл, флаги 'rb'
    Ответ написан
    1 комментарий
  • Как по SSH Windows запустить скрипт на рабочем столе?

    @rPman
    ssh запускается как служба, и не имеет доступа к консоли текущего пользователя.

    Правильно - создать задачу в task scheduler (планировщик задач), без условий (тригеры), указав пользователя с его паролем и отметить чекбоксик интерактивности. А в момент, когда нужно запустить эту задачу, запускать ее с помощью schtasks /run
    Ответ написан
    Комментировать
  • Как определить область в потоке видео и среагировать на обнаружение?

    @rPman
    Если в этом месте других сообщений не выводится, то все решается простой проверкой цвета нескольких пикселов, в твоем случае их будет 2-3шт, для надежности смотри ну 5.

    Подбери такие пикселы, чтобы их комбинация белая/не белая была уникальной для каждого случая... цвет пиксела бери 'на интервале'

    Твоя задача вообще решается анализом небольшого количества пикселов, потому что интересующие тебя объекты имеют не меняющийся цвет.

    p.s. вот если бы вместо белого цвета использовался постоянно меняющийся, было бы сложнее, но все равно решаемо, просто больше пикселов брать и сравнивать цвет с ними
    Ответ написан
  • У меня скрипт для рассылки друзьям на Python, хочу отправлять сообщения по номеру телефона, но получается только по username, как решить?

    @rPman
    По номеру телефона можно общаться только если вы друг у друга в контактах телефона.

    Иначе - ты бы перебирал номера телефонов (собственно одно время так и делали, добавляя по 10к в контакты себе) и спамил бы спамил, хорошо так не получится.
    Ответ написан
  • Как вывести список всех компьютеров в пределах диапазона из Active Directory?

    @rPman
    Лучше использовать для этого штатные утилиты командной строки или скрипт powershell (код будет проще), например
    $ip = "192.168.1.1"
    
    # получить dns имя по ip
    [System.Net.Dns]::GetHostEntry($ip).HostName
    
    # получить операционную систему по ip
    # права у текущего пользователя должны быть достаточными
    $creds = Get-Credential
    
    Invoke-Command -ComputerName $ip -Credential $creds {
        Get-WmiObject -Class Win32_OperatingSystem | Select-Object Caption, Version
    }

    p.s. по уму wmi есть и для python но код точно будет многословным (попроси chatgpt он тебе нарисует или нагугли)
    p.s.
    wmi
    или ldap3
    Ответ написан
    Комментировать
  • Какие пакеты лучше использовать для написания программы?

    @rPman
    Управление удаленным браузером - selenium или самому использовать механим управления браузером по сети (у firefox это marionette, у хромиум кажется через --remote-debugging-port свой, собственно драйвера selemium их и используют, унифицируя)
    Ответ написан
  • Почему скорость работы асинхронного кода снижается?

    @rPman
    Скажи, о каких скоростях идет до и после повышения количества доменов?
    Что показывает нагрузка на процессор (асинхронный код использует в основном только одно ядро).

    Добавь подсчет количества запросов в секунду на каком то разумном интервале (например 1..10сек), по коду это просто переменная, которую увеличиваешь на 1 с каждым запросом и сбрасываешь, если остаток от деления текущего времени в timestamp на интервал в секундах изменилось, с последнего вывода, ну и выводишь значение переменной, поделив на этот же интервал.

    И главный вопрос, а с чего ты взял что сайт ifconfig.me будет отвечать тебе с бесконечной скоростью? Почти наверняка ты упираешься в какие то лимиты и тебе понижают количество запросов в секунду, через некоторое время лимит сбрасывается и твои тесты с малым количеством запросов работают быстрее.
    Ответ написан
  • Как убрать задержку в WebSockets?

    @rPman
    Это не вебсокет вносит задержки, а телеграм. Задержки в рассылке сообщений клиентам у него доходят до нескольких минут, это не исправить, клиенты должны сами подключаться к тому же серверу что и бот, управлять этим невозможно.
    Ответ написан
    Комментировать
  • Как генерировать файлы и записывать в них информацию в цикле?

    @rPman
    open в качестве первого параметра принимает имя файла, сейчас у тебя там строка константа, замени ее на код, который будет формировать имя файла, например из чисел x1...x5, соответственно передавай эти числа в функцию, в которой этот open вызывается
    Ответ написан
  • Существует ли таймер которым можно управлять с другого компьютера?

    @rPman
    Слишком 'простая' задача, чтобы для нее был готовый инструмент, может только как часть бОльшего...

    Напиши сам или закажи у других. Современные телевизоры уже давно умные, в крайнем случае можно приобрести у китайцев за 1-2т.р. мини ПК в формате hdmi-stick (чуть больше usb флешки) так же почти любой смартфон может транслировать изображение на TV по wifi. Т.е. 'запустить браузер на TV' не проблема. Удаленное управление - вопрос того от куда и как именно нужно это делать.
    Ответ написан
    Комментировать
  • Selenium не видит мой webdriver,что делать?

    @rPman
    С высокой вероятностью причина - русские буквы в пути.

    Размести драйвер в другом каталоге, не содержащем русские буквы (можно создать символическую ссылку на каталог в другом месте)
    Ответ написан
  • Как вывод команды help в терминал передать в переменную?

    @rPman
    подмени stdout на свою строку на время работы help и dir и потом обратно, с помощью io
    import io
    import sys
    # Create a text buffer object
    buffer = io.StringIO()
    # Redirect stdout to the buffer
    sys.stdout = buffer
    # Call the help function
    help(object)
    # Reset stdout to default
    sys.stdout = sys.__stdout__
    # Get the string value from the buffer
    help_in_string_format = buffer.getvalue()
    # You can now use the string variable as required.
    print(help_in_string_format)

    p.s. очень удобно пользоваться chatgpt когда задачи простые и ты понимаешь как их решать, он берет на себя кучу скучной и не интересной работы
    Ответ написан
  • Как запустить обучение с deepspeed у себя на пк?

    @rPman
    deepspeed это про обучение на кластере, т.е. вместо покупки одной дорогой серверной видеокарточки, ты поднимаешь кластер из дешевых десктопных и по уму должен получить экономию в деньгах.
    Ответ написан
  • Как пройти авторизацию на youtube с помощью selenium?

    @rPman
    Сам давно не ковырялся в гугловских формах, но то что я знаю, это то что они собаку съели на борьбе с автоматизацией.

    Могу дать совет, ищи нужные элементы не css-селектором, а по содержимому и размещению.

    Просканируй DOM элементы на их getBoundingClientRect() и игнорируя все что нулевого размера (это невидимые) выявляй все что видимо в нужных местах и относительное положение.
    Ответ написан
    2 комментария
  • Работа с txt в python. Как работать с редактированием строк?

    @rPman
    Используй утилиту cut, она идеально подходит для решения твоей задачи
    cut --delimiter=; --fields=1 input_file.csv
    Результат будет выведен в консоль, можно перенаправить в фай, добавив в конец строки
    > out_file.txt
    Ответ написан
    Комментировать
  • Как сделать стабильный загрузчик видео?

    @rPman
    yt-dlp

    И бодаться с гугловскими системами противодействия автоматизаций.

    Пока ты один пользователь, на это закрывают глаза и понижают скорость скачки после десятка запросов, но как только ты становишься сервисом с большим трафиком, то тебя забанят. Не уверен что тут будет красивое решение.

    p.s. почти наверняка есть официально платные услуги по доступу к данным, но наверное задорого и не доступно публично. Компания не зря тратила годами сотни миллионов баксов убытков чтобы стать монополистом по хранению и доступу к видеоконтенту, а на фоне последних веяний 'данные - новое золото' с целью обучения ИИ, отдавать данные просто так гугл точно не будет.
    Ответ написан
    4 комментария
  • Как узнать, был ли изменен файл?

    @rPman
    два направления:
    * первый периодические опросы 'времени последнего изменения' с помощью os.path.getctime(path), если время изменилось - значит файл был изменен (речь о командах на запись но содержимое не проверяется).
    Достоинства - простота, высокая скорость, если количество отслеживаемых файлов мало (до сотни).
    Недостаток - низкая оперативность изменений, определяется интервалом опроса

    * второй, подписаться на события изменений файла в файловой системе средствами ОС, они отличаются в каждой свои (например для linux гугли библиотеки python inotify). Можно вместо своей реализации использовать готовые утилиты (в linux inotify/inoticoming/incron/...)
    Достоинства - высокая оперативность и скорость реакции на изменения, можно отслеживать изменения в огромном количестве файлов, очень подробная информация о действиях (например можно получить события о том что файл кем то был открыт и его читают)
    Недостатки - сложность реализации, зависимость реализации от операционной системы.

    p.s. Внимание, в зависимости от выбранного метода и операционной системы возможны неожиданные последствия попыток отслеживания файлов по символическим и жестким ссылкам (можно пропускать события изменений, вопрос не изучал но нужны тесты)
    Ответ написан
    Комментировать
  • Как открывать браузер у конкретного пользователя?

    @rPman
    ты пишешь телеграм бот и хочешь чтобы браузер у пользователя открывался по твоему желанию?
    никак, иначе это была бы дыра приватности (вычислить ip клиента) и для фишинга
    Ответ написан
  • Как парсить курсы валют с биржи dedust?

    @rPman
    Не совсем верный используешь метод, содержимое страницы формируется на javascript в браузере, твой 'прелестный суп' так не умеет.

    Могу предположить что цены там тупо берутся тут https://api.dedust.io/v2/prices (этот запрос раз в 3 секунды идет со страницы)
    Ответ написан
    2 комментария