Я хочу запустить сценарий несколько раз, с разными путями в качестве аргументов и посмотреть результат.Невозможно получить вывод скрипта скрипта из python
Если я запускаю сценарий path/lizard
с аргументом path_to_code/code1.cpp
в командной строке
path/lizard path_to_code/code1.cpp
я получаю выход - и я хотел бы запустить этот скрипт на несколько файлов.
Глядя на this и подобные вопросы, я попытался
import os, glob
def run_command(command):
os.system(command)
program = '"C:/Python27/Scripts/lizard.bat "'
path = '"path_to_code/*.cpp"'
for path1 in glob.glob(path):
command = program + path1
run_command(command)
Нет выхода.
import glob, subprocess
def run_command(command):
p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
out, err = p.communicate()
print out
program = '"C:/Python27/Scripts/lizard.bat "'
path = '"path_to_code/*.cpp"'
for path1 in glob.glob(path):
command = program + path1
run_command(command)
Нет вывода.
(конечно, я хочу, чтобы итерация рекурсивно через каталог, но это следующий шаг).
Как я могу получить результат работы программы из сценария? Я думаю, что логически обе версии должны получить мне результат ... Что я делаю неправильно?
волочить пространство в двойные кавычки вокруг пути к сценарию питона выглядит неправильно для меня. Помогает ли удаление? –
http://stackoverflow.com/questions/4760215/running-shell-command-from-python-and-capturing-the-output – Doon
@EtanReisner без него, путь и аргумент находятся в одной строке, и нет такой программы. – Thalia