• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

После subprocess.getoutput("cmd") ничего не работает

from_localhost

Active member
29.10.2024
25
0
Python:
import subprocess

good = subprocess.getoutput("calc")  # открывает Калькулятор
print("Calculator is open!")

bad = subprocess.getoutput("cmd")  # откроется консоль в режиме "CMD"
print("Open CMD!")  # этого сообщения не будет в консоле, и НИЧЕГО не будет происходить далее
Мне нужно получать сообщение после команды
Есть способ как нибудь продолжить выполнение кода?
 
Последнее редактирование:
Решение
Мне нужно получать output, а не просто команду выполнять
Проблема в том что оби эти тулзы не завершаются, а продолжают работать

Например я у себя в боте для вывода uptime делаю так:

Python:
@router.message(F.text.in_('!uptime'))
async def uptime_info(message: Message):
    t = os.popen('uptime -p').read()[:-1]
    await message.answer(f'{t}')

Ну тут понятно, команда отработала, считали и вывели на экран, в бота и т.д. А что хочешь считать ты, не совсем понятно

1730566316331.png
Python:
import subprocess

good = subprocess.getoutput("calc")  # открывает Калькулятор
print("Calculator is open!")

bad = subprocess.getoutput("cmd")  # откроется консоль в режиме "CMD"
print("Open CMD!")  # этого сообщения не будет в консоле, и НИЧЕГО не будет происходить далее
Мне нужно получать сообщение после команды
Есть способ как нибудь продолжить выполнение кода?
Python:
import subprocess

# Запускаем калькулятор
subprocess.Popen("calc.exe")  # открывает Калькулятор
print("Calculator is open!")

# Запускаем консоль
subprocess.Popen("cmd.exe")  # откроется консоль в режиме "CMD"
print("Open CMD!")
 
Python:
import subprocess

# Запускаем калькулятор
subprocess.Popen("calc.exe")  # открывает Калькулятор
print("Calculator is open!")

# Запускаем консоль
subprocess.Popen("cmd.exe")  # откроется консоль в режиме "CMD"
print("Open CMD!")
Мне нужно получать output, а не просто команду выполнять
 
Мне нужно получать output, а не просто команду выполнять
Проблема в том что оби эти тулзы не завершаются, а продолжают работать

Например я у себя в боте для вывода uptime делаю так:

Python:
@router.message(F.text.in_('!uptime'))
async def uptime_info(message: Message):
    t = os.popen('uptime -p').read()[:-1]
    await message.answer(f'{t}')

Ну тут понятно, команда отработала, считали и вывели на экран, в бота и т.д. А что хочешь считать ты, не совсем понятно

1730566316331.png
 
Решение
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab