powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / os.system( "command --param=1 >> outfile.txt ")
1 сообщений из 1, страница 1 из 1
os.system( "command --param=1 >> outfile.txt ")
    #38235362
good_cpp_questions
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Как я понимаю, os.system() запускает системный "шелл", скармливая ему переданную строку. Например, системой может быть linux, а системным шеллом может быть zsh. Благодаря запуску шелла, распознаётся ">>" и создаётся файл. Верно?

2. Захотелось запустить процесс с параметрами, получив обратно в питон выведенные процессом в консоль строки. Способы перехватить вывод консольного приложения в питоне освящены тут, например: http://stackoverflow.com/questions/4760215/running-shell-command-from-python-and-capturing-the-output

При этом не запускается никакой шелл, а используется "прямой" запуск приложения с передачей массива аргументов. Соответственно, никакой там ">>" работать уже не будет.

Можно написать универсальную функцию, которая делает split() над строкой "command --param 2", и передаёт получившийся список куда-нибудь сюда . Но тогда при желании завернуть, скажем, многомегабайтный вывод программы в файл, придётся реализовывать какую-то свою записывалку в файл на уровне питона. Как её сделать так, чтобы запись шла СРАЗУ в файл (мелкими кусочками, типа по 1 МБ), а не по схеме "дождался всех строк, открыл файл, записал, закрыл"?
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / os.system( "command --param=1 >> outfile.txt ")
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]