Tag: подпроцесс

Почему python останавливается на выходе подпроцесса python?

Я использую подпроцесс python.call () для запуска ряда скриптов python, каждый из которых запускает скрипты Matlab. Проблема возникает, когда заканчивается первый скрипт Matlab. Внешний скрипт Python анализирует каталог csv-файлов для настроек для запуска экспериментов на основе каждой строки файлов csv. Для каждого эксперимента он вызывает программу python для запуска анализа данных и подачи в Matlab. […]

Вызов подпроцесса с аргументами как переменные python

Привет, я довольно новичок в Python, и я пытаюсь вызвать подпроцесс из другого скрипта Python, используя subprocess.call. Но мои аргументы – это имена переменных. Итак, следует ли использовать subprocess.call или subprocess.popen? Я хочу выполнить следующую команду из другого сценария python: python npp.python -i fname -o fname+"out" -l fname+"log" -e excplist -i ignorelist Итак, следует ли […]

Связь с stdin через подпроцесс python

Я запускаю exe из моего кода на Python, используя подпроцесс со следующим кодом: if subprocess.call(string, stderr=stdPoller, stdout=stdPoller, stdin=stdPoller, shell=True)==0: return True stdPoller просто stdPoller stdout и stderr и записывает в журнал. Это не проблема. Когда я запускаю определенное приложение, я получаю следующую ошибку для std: Необработанное исключение: System.InvalidOperationException: не удается проверить, был ли нажат ключ, […]

popen с блоками чтения и записи python в python2.7

Я столкнулся с аналогичной проблемой, которую еще один пользователь @AMisra опубликовал некоторое время назад, но не получил окончательного ответа. Проблема в том, что я использую сторонний код и не могу его слишком сильно изменить. У меня есть функция, которая много раз вызывается в коде для создания подпроцесса, записи данных в stdin и последующего чтения. Он […]

Доступ к домашнему каталогу пользователя из django

Я создаю приложение Django, которое может получить доступ к домашнему каталогу пользователя. Для этого я хочу создать каталог, используя что-то вроде os.mkdir('/home/user/new_directory') или команду подпроцесса . Поскольку Django запускается сервером apache, python действует как пользователь apache и не может получить доступ к домашним каталогам моих пользователей. В настоящее время я знаю логин моих пользователей, потому […]

Ошибка subprocess.check_output с ошибкой 127

Я пытаюсь вызвать внешнюю программу из моего приложения python, но он не показывает вывод и не работает с ошибкой 127. Выполнение команды из командной строки отлично работает. (и я в правильном рабочем каталоге) def buildContris (self, startUrl, reportArray): urls = [] for row in reportArray: try: url = subprocess.check_output(["casperjs", "casper.js", startUrl, row[0]], shell=True) print (url) […]

Ошибка «file not found» при запуске локального двоичного файла с Popen

Я пишу программу Python для вызова локального двоичного кода с помощью Popen для его вывода. Я меняю каталоги на него с os.chdir и я подтвердил, что файл есть. Однако следующий код вызывает исключение «файл не найден». Может ли кто-нибудь сказать мне, что я делаю неправильно? Есть ли что-то особенное, что я должен делать с запуском […]

Передайте реальные данные в Storms Spout с использованием языка, отличного от JVM, в Twitter-Storm

Мне трудно понять, как передавать реальные данные в носик, например: У меня есть два файла (они работают нормально): #! /usr/bin/env python import os, random, sys, time for i in xrange(50): print("%s\t%s"%(os.getpid(), i)) sys.stdout.flush() time.sleep(random.randint(0,5)) А также #! /usr/bin/env python from __future__ import print_function from select import select from subprocess import Popen,PIPE p = Popen(['./rand_lines.py'], stdout=PIPE, […]

Как я могу вызвать команду с помощью Python, захватив stderr и stdout, не дожидаясь закрытия stderr / stdout?

Прямо сейчас у меня есть код, который использует Popen.communicate() из подпроцесса (установка stdin=PIPE и stderr=PIPE ) для запуска команды и захвата как stderr, так и stdout. Проблема в том, что communicate() не только ждет выхода команды, но и ожидает, что stdout и stderr будут закрыты. Команда, которую я запускаю, порождает дочерний процесс, который закрывает stderr, […]

Python subprocess.check_call – как направить stdout и stderr на файл _both_ и файл журнала?

Я использую Python 2.7. Это то, что я делаю в настоящее время для запуска других программ с Python, перенаправления STDOUT и STERR в LOGFILE: try: # Execute command and print content to LOGFILE tempname = os.path.abspath('./text.txt') TEMPFILE = open(tempname, 'wb') print 'Executing: ', command subprocess.check_call(command, shell = True, stdout = TEMPFILE, stderr = TEMPFILE) TEMPFILE.close() […]

Python - лучший язык программирования в мире.