Я использую этот код для вызова другой программы и получения данных, полученных из этой программы. Использование этого занимает около минуты, чтобы закончить. Есть ли более эффективная функция, которую я мог бы использовать?subprocess.check_output более быстрый способ
1
A
ответ
4
subprocess.check_output
просто запускает другой процесс и ждет его завершения. Это займет минутку, но время не потрачено на выполнение subprocess.check_output
. Время тратится на выполнение другого процесса. Единственный способ ускорить процесс - ускорить этот другой процесс.
Сколько времени требуется, чтобы запустить ту же команду из командной оболочки (или командной строки)? Вы уверены, что subprocess.check_output() - это горлышко бутылки? –
Используется 'shell = True' действительно необходимо? Это приносит много проблем, особенно если у вас есть пробелы в имени файла. Вы пробовали 'subprocess.check_output (['perl', 'ruleFinder.pl', datasetfile, myrulepath])' – glglgl
Я согласен с 'shell = True'. Передача списка аргументов намного чище. –