LINUX.ORG.RU

Ответ на: комментарий от Brainerazer

Нихт фирштейн.

Popen записывает статус исполнения последней команды, а не выхлоп. То есть при успешном выполнении возвращает 0, а всё что я хочу записать в список (по строке в каждый элемент) просто пробегает по экрану. Или я слепой и не туда смотрю?

Camel ★★★★★
() автор топика
Ответ на: Нихт фирштейн. от Camel
$ python
Python 2.7.1 (r271:86832, Apr 23 2011, 22:48:40) 
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from subprocess import Popen, PIPE
>>> Popen("ls -1", shell=True, stdin=PIPE, stdout=PIPE).stdout.read().split()
['1', '111', '222', '333', 'Downloads', 'John', 'Crawford', '(musician)', '-', 'Wikipedia,', 'the', 'free', 'encyclopedia_files', 'John', 'Crawford', '(musician)', '-', 'Wikipedia,', 'the', 'free', 'encyclopedia.html', 'nohup.out', 'Usage', 'xlog']
uzbl
()
Ответ на: комментарий от uzbl

Работает.

Спасибо, работает.

Camel ★★★★★
() автор топика
Ответ на: комментарий от uzbl

Без пустых.

Хм-м, у меня такая команда выдаёт список, в котором последний элемент ", то есть пустой. Поэтому я запускаю:

Popen("ls -1", shell=True, stdin=PIPE, stdout=PIPE).stdout.read().split("\n")[0:-1]
Без обрезки последнего элемента вот что:
>>> Popen("ls -1", shell=True, stdin=PIPE, stdout=PIPE).stdout.read().split("\n")
['django.wsgi', 'images', 'mysite', 'readme.txt', 'scripts', 'templates', '']

Camel ★★★★★
() автор топика
29 ноября 2011 г.
Ответ на: комментарий от anonymous

Как обычно.

Э-э, как обычно. Если программа сама не демонизируется, то запустить её в фоне, в конце вызова добавить &.

Camel ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.