Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.71/35: Рейтинг темы: голосов - 35, средняя оценка - 4.71
22 / 2 / 0
Регистрация: 27.06.2013
Сообщений: 127

Запуск shell с параметрами

29.02.2016, 02:27. Показов 7151. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, есть скрипт на питоне proga.py, который можно запустить с параметрами... И я хочу сделать чтобы мой скрипт открывал тот что уже есть в новом окне shell..
Python
1
2
3
import  subprocess 
 
print subprocess.call(['proga', --version])
Понятно что если так запустить то напишет в том же шелле откуда запускался скрипт версию программы.. Но нужно чтобы создалось отдельное окно с шелом и там вывелся результат.. Не подскажете как?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.02.2016, 02:27
Ответы с готовыми решениями:

Не работает запуск скрипта с параметрами
Подскажите почему не работает скрипт когда я его запускаю с параметром ./bigdigits.py 234 Выдаёт except IndexError которая по идее...

Запуск shell - команды через SSH
Добрый день! Использую модуль paramiko. Нужно выполнять различные команды через ssh на удаленном сервере. С обычными командами проблем...

Запуск программы с sys.args на shell или PyCharm console
Привет! Не понимаю, почему мне выкидывает IndexError: list index out of range в этой строчке: B, C, D, E = sys.argv, sys.argv, sys.argv,...

25
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
05.03.2016, 15:42
Студворк — интернет-сервис помощи студентам
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import subprocess
import time
 
cmd2 = '/usr/bin/xterm -hold -e "python /home/jabbson/Downloads/wait.py 10"'
b = subprocess.Popen(cmd2, shell=True)
 
time.sleep(3)    # sleep for 3 secs
print(b.poll())  # should be None (prog is running)
time.sleep(2)    # sleep for 2 secs
print(b.poll())  # should be None (prog is running)
print("start waiting")
b.wait()         # wait for external program to end
print("stop waiting")
time.sleep(1)    # sleep 1 sec
print(b.poll())  # should be 0 (prog is done)
вывод:

Code
1
2
3
4
5
None
None
start waiting
stop waiting
0
0
22 / 2 / 0
Регистрация: 27.06.2013
Сообщений: 127
05.03.2016, 16:30  [ТС]
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import subprocess
import time
# cmd1 = '/usr/bin/gnome-terminal -e "python /home/bmf/test.py"'
cmd1 = 'gnome-terminal -e "python /home/bmf/test.py"'
b = subprocess.Popen(cmd1,shell=True)
time.sleep(3)    # sleep for 3 secs
print(b.poll())  # should be None (prog is running)
time.sleep(2)    # sleep for 2 secs
print(b.poll())  # should be None (prog is running)
print("start waiting")
b.wait()         # wait for external program to end
print("stop waiting")
time.sleep(1)    # sleep 1 sec
print(b.poll())  # should be 0 (prog is done)
и скрипт для теста

Python
1
2
3
4
5
6
7
import time
 
i = 50
while i > 0:
    print 'test'
    time.sleep(1)
    i = i - 1
вывод
0
0
start waiting
stop waiting
0
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
05.03.2016, 17:03
печалька, что ж тут сказать

0
22 / 2 / 0
Регистрация: 27.06.2013
Сообщений: 127
05.03.2016, 18:19  [ТС]
что за бред то.
Ни на ubuntu ни на debian не работает у меня.. Что за..
Видимо надо учить что-то типа C где всегда все работает так как написано, а не фиг пойми что из-за чего происходит. Что за бред, у одного человека все работает и аналогичный код не пашет у другого.
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
05.03.2016, 18:20
все верно
0
22 / 2 / 0
Регистрация: 27.06.2013
Сообщений: 127
06.03.2016, 15:05  [ТС]
а Вам лишь бы я тут не докапывал своими вопросами)
Нифига, мне нужен именно этот питон для решения подобных задач))

Добавлено через 4 минуты
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import subprocess
import time
 
# cmd1 = '/usr/bin/gnome-terminal -e "python /home/bmf/test.py"'
cmd1 = 'gnome-terminal -e "python /home/bmf/sqlmap-dev/test.py"'
b = subprocess.Popen(cmd1, shell=True)
print b.poll()    # вот тут вывод None
time.sleep(3) 
print(b.poll())  
time.sleep(2)    
print(b.poll())  
print("start waiting")
b.wait()    
print("stop waiting")
time.sleep(1)   
print(b.poll())
Добавил строку сразу после вызова процесса b.poll() - выводит None потом нули.. Как такое может быть вообще?

Добавлено через 20 часов 37 минут
Поставил pycharm просто чтобы попробовать сделать как у Вас. Сначала ничего не получалось - все работало так же неправильно потом Я НЕ ПОНЯЛ ПОЧЕМУ, может быть Вы мне объясните, я получил вот такой вывод

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/usr/bin/python2.7 /home/bmf/Ducuments/python/probnik.py
None
 
(gnome-terminal:8543): GLib-GIO-CRITICAL **: g_settings_get: the format string may not contain '&' (key 'monospace-font-name' from schema 'org.gnome.desktop.interface'). This call will probably stop working with a future version of glib.
 
(gnome-terminal:8543): Vte-2.90-WARNING **: Не удалось преобразовать символы из набора текущая в набор X-VTE-GUNICHAR.
Unhandled value type TerminalEncoding of pspec encoding
None
None
start waiting
stop waiting
0
 
Process finished with exit code 0
т.е. программа отработала правильно.. Что поисходит???


Я открываю консоль из папки, запускаю скрипт - не работает, запускаю из pycharm если открыт терминал - не работает, закрываю терминал - снова в pycharm работает! Т.е. если терминал открыт в папке где лежит скрипт - то скрипт не работает.. Если там не открыт процесс терминала то работает! Это КАК???
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.03.2016, 15:05

Использовать команду Shell для разных кнопок с разными параметрами
Здравствуйте, как быть когда нужно на кнопку, которая в документе Ворд повесить код типа этого Shell...

Запуск через Shell
Как сделать запуск данной команды через Shell (Memory - переменная): C:\Program Files\Java\jre7\bin\javaw.exe"" -XmsMEMORYM...

Запуск программы из DOS shell
Здравствуйте! Во время работы появилась необходимость использовать результаты программы (вычисления, графики) программы на фортране...

Запуск Shell команд из Perl
Система: FreeBSD 8.0 Поставил smstools 3. Сделал скрипт на Perl обрабатывающий текстовые сообщения. Предпоследней командой скрипта...

Запуск EXE (не функцией SHELL)
Как можно запустить EXE файл, кроме функции SHELL???


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

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Новые блоги и статьи
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе. Самым главным критерием для меня было создание паролей, в котором отсутствуют знаки: | 1 l I Обработка содержит следующие. . .
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него. https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952 Инструкция внутри. https:/ / youtu. be/ VpfFZSUDGnQ. . .
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru