Это старый вопрос, но если вы на bash и в вашем скрипте есть что-то вроде
import sys
x = sys.argv[1]
print x
и вы хотели передать вывод команды из него, не помещая его в сценарий, вы могли бы сделать это с
test.py $(some_command -w arguments)
Если вы ожидаете единственную строку из вашего вывода, она будет передана обратно как argv [1]. Если вы ожидаете несколько строк, они будут переданы по отдельности и помещены в массив argv [], а если вы захотите проверить содержимое, вы сделаете
print argv[1:] #starting at index 1 so you don't get the script name in the output
Если это тот тип вывода, который будет возвращен в виде массива, вам придется изменить ваш скрипт на python, чтобы все выходные данные помещались в один вызываемый объект. В принятом ответе есть способ, но вы также можете просто вызвать команду непосредственно в вашем скрипте и сохранить результат в переменной с помощью
import subprocess
x = subprocess.check_output("awk '{if ($4 == 1975) print $1,$2,$3}' ./test.txt",shell=True)
print x
какие выводы
D000001 D000001 44
D000001 D000900 27
* операторы печати произвольны и просто выбраны, чтобы показать значения