Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
1 / 1 / 1
Регистрация: 19.10.2020
Сообщений: 17

Взаимодействие Python3 с PowerShell

12.04.2022, 00:38. Показов 2374. Ответов 1

Студворк — интернет-сервис помощи студентам
Python3.9
IDLE

Здравствуйте! У меня появилась такая задачка:

Есть бот телеграм, который взаимодействует с PowerShell на пк, но после каждой команды, сессия сбрасывается, как сделать так, чтобы можно было выполнять несколько команд?

Часть кода:
Python
1
2
3
4
5
6
7
8
9
@client.on(events.NewMessage(pattern="/ps"))
async def handler(message):
    cmd = 'powershell -command ' + message.text.split(" ", maxsplit=1)[1]
    res = subprocess.run(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, encoding='cp866')
    if str(res.stdout) == "" and str(res.stderr) != "":
        print("Готово!")
    else:
        print(res.stdout)
        print(res.stderr)
Тут такая схема, человек пишет команду "/ps ls", все отлично, все срабатывает, а если он напишет сначала "/ps cd ..", а затем "/ps ls", то покажутся файлы из папки, откуда запускается скрипт, а не те, в которую перешёл пользователь.

Задача наверняка простая, но идей вообще нет, уже больше часа голову ломаю. ("/ps" это просто команда, показывающая, что после нее будет в запросе для powershell-а)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.04.2022, 00:38
Ответы с готовыми решениями:

Взаимодействие с PowerShell
Всем привет, скажем у меня в Powershell выполняется математический расчет, когда он заканчивается в PowerShell появляется строка о...

Взаимодействие .NET и PowerShell
Здравствуйте. Объясните пожалуйста. Как я понимаю, PowerShell работает с Net Framework. PowerShell не имеет абсолютно всех функций...

Взаимодействие Word с PowerShell
Добрый вечер! Подскажите, пожалуйста, как установить выравнивание текста по ширине в Word-документе через программу PowerShell? И как...

1
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
12.04.2022, 15:50
creative16,
Зачем тебе powershell, когда есть Python и он умеет делать тоже самое?

И вряд ли у тебя получится интерактивно взаимодействовать с powershell. Это не такая простая вещь как тебе кажется.

Добавлено через 8 минут
Python
1
2
3
import pexpect
pexpect.popen_spawn.PopenSpawn('powershell.exe',encoding="utf-8")
...
Пишут что интерактивная сессия с powershell работает только на винде не ниже 10-ки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.04.2022, 15:50
Помогаю со студенческими работами здесь

В терминале есть установленная версия Python3 а в списке приложений Python3 нет на Debian
Как сделать так что б в списке приложений то же был Python3 на Debian

Импорт python3-библиотек в python3.7
Здравствуйте! Такая проблема - не могу имортировать либы 3 питона внутри 3.7 версии. Сижу на elementary os 0.4, по умолчанию установлена...

PowerShell vs PowerShell ISE
Скажите, пожалуйста, чем PowerShell отличается от PowerShell ISE. Спасибо.

Python3 факториал
в чем разница между этими решениями? n = int(input()) f = 1 for i in (1, n + 1): f = f * i print(f)

Задача на Python3
Большинство веб-страниц сейчас перегружено всевозможной рекламой… Наша задача «вытащить» из веб-страницы только полезную информацию,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru