Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Как вызвать терминал или cmd.exe из python3?  (Прочитано 1971 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Gadd

  • Автор темы
  • Участник
  • *
  • Сообщений: 209
    • Просмотр профиля
Как вызвать терминал или cmd.exe из python3?
« : 29 Сентября 2013, 20:31:03 »
Суть вопроса такова:
Запускается стартовый скрипт, предположим start.pyw (в винде терминальное окно не выводится). Этот скрипт должен вывести окно терминала (или в винде cmd.exe), где выведется необходимая информация и запрос на подтверждение действий. Далее должна работать основная программа. Как это сделать кроссплатформенно?

Пример:

start.pyw:
status = wtf_open(second.py)      # гипотетическая функция, волшебным образом делающая то, что нужно, то есть сабж
if status:
    pass
else:
    return

second.py:
print("Предупреждение!")
q = input("Да/Нет: ")
if q=='Да':
    return True
elif q=='Нет':
    return False
Ubuntu 16.04 x86_64
AMD FX X8 8350, Gigabyte 990FXA-UD3 (rev 3.0), GeForce GTX760 2ГБ
Установлены все обновления

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Как вызвать терминал или cmd.exe из python3?
« Ответ #1 : 30 Сентября 2013, 15:33:00 »
Подозреваю
import os
os.system('cmd.exe')

Оффлайн Gadd

  • Автор темы
  • Участник
  • *
  • Сообщений: 209
    • Просмотр профиля
Re: Как вызвать терминал или cmd.exe из python3?
« Ответ #2 : 30 Сентября 2013, 15:47:18 »
Подозреваю
import os
os.system('cmd.exe')

Оно, конечно так, однако в Linuxе, к сожалению (точнее к счастью) нет cmd.exe, зато есть зоопарк своих терминалов, все предусмотреть можно, конечно, но нужно ли?
Интересует, в первую очередь кроссплатформенность.
Кстати, есть ли переменная среды, отвечающая за терминал по-умолчанию?

В принципе, я уже в этом вопросе уже пошёл другим путем, но всё-таки интересно, как решить проблему (на будущее).
Ubuntu 16.04 x86_64
AMD FX X8 8350, Gigabyte 990FXA-UD3 (rev 3.0), GeForce GTX760 2ГБ
Установлены все обновления

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Как вызвать терминал или cmd.exe из python3?
« Ответ #3 : 30 Сентября 2013, 16:35:19 »
Алгоритм такой.
Проанализировать, что за ОС.
import platform
OS = platform.system()
Для каждой ОС своя команда.
« Последнее редактирование: 30 Сентября 2013, 16:41:40 от alexander.pronin »

Оффлайн Gadd

  • Автор темы
  • Участник
  • *
  • Сообщений: 209
    • Просмотр профиля
Re: Как вызвать терминал или cmd.exe из python3?
« Ответ #4 : 30 Сентября 2013, 17:32:40 »
Над этим я уже думал. В общем, я пошёл другим путем, без решения сабжа  :-\
Ubuntu 16.04 x86_64
AMD FX X8 8350, Gigabyte 990FXA-UD3 (rev 3.0), GeForce GTX760 2ГБ
Установлены все обновления

 

Страница сгенерирована за 0.015 секунд. Запросов: 21.