Форум сайта python.su
![[RSS Feed] [RSS Feed]](/static/djangobb_forum/img/feed-icon-small.png) 
			 
							 0
  0   
								
								Здравстуйте. Интересует следующее: как можно перенаправить вывод из питона в терминал (ubuntu 9.04). К примеру есть строка ‘ . /home/user/cpuinfo’ которая в bash выполняет данный файл (в файле команда берущая инфо о процессоре). Имеется множество таких вот файлов. Из терминала всё работает прекрасно. Теперь нужно организовать скриптик типа который за раз запустит их всех без надобности работать с каждым отдельно. Может как то выводится это всё в аккурат на выполнение в терминале через питон? Спасибо.
Офлайн
 
							 0
  0   
								
								точно не уверен ..но попробуй через:
import os
os.system('. /home/user/cpuinfo')
Офлайн
 
							 0
  0   
								
								Muslim
Интересует следующее: как можно перенаправить вывод из питона в терминал (ubuntu 9.04).
print 'Это в терминал'
Muslimhttp://www.python.org/doc/2.5/lib/module-subprocess.html
Теперь нужно организовать скриптик типа который за раз запустит их всех без надобности работать с каждым отдельно.
Офлайн
 
							 0
  0   
								
								goblin_maksСпасибо. Как раз то что нужно. Еще раз спасибо.
точно не уверен ..но попробуй через:import os
os.system('. /home/user/cpuinfo')
Офлайн
 
							 0
  0   
								
								slivlenПища для размышления. Благодарю.
http://www.python.org/doc/2.5/lib/module-subprocess.html
Вообщем-то если не перенаправлять и не закрывать stdout и stderr дочернего процесса в котором будут выполнятся скрипты, то ничего перенаправлять и не надо будет, тк они по-умолчанию унаследуют stdout и stderr родительского процесса, а он уже связан с /dev/tty или /dev/pty.
Офлайн
 
							 0
  0   
								
								Следом очередной вопрос - как послать в тот же терминал скажем Ctrl+C или Ctrl+D ну да любую последовательность. Может у кого есть прямая ссылка или в голове завалялось? Очень помогло бы.
Офлайн
 
							 0
  0   
								
								MuslimCtrl+c или н-р Ctrl+z посылают процессу соответствующий сигнал, и чтобы получить действие эквивалентное нажатию этих комбинаций достаточно процессу послать сигнал. Ctrl+d посылает EOF, его можно послать н-р через pipe в stdin процесса(достаточно закрыть для этого файловый дескриптор родителя связанный с stdin дочернего процесса).
Следом очередной вопрос - как послать в тот же терминал скажем Ctrl+C или Ctrl+D ну да любую последовательность. Может у кого есть прямая ссылка или в голове завалялось? Очень помогло бы.
Офлайн
 
							 0
  0   
								
								Всем спасибо. Помогли.
Офлайн
![[RSS Feed] [RSS Feed]](/static/djangobb_forum/img/feed-icon-small.png)