Как получить аргументы через shell-канал в python?
Я хотел бы сделать что-то вроде этого:
find -name "foo*" | python main.py
и получить доступ ко всем файлам, найденным программой find. Как получить доступ к этому в Python?
Ответ 1
import sys
for line in sys.stdin:
print line
Ответ 2
Мне нравится использовать $(...) для аргументов командной строки, которые зависят от какой-либо другой программы. Я думаю, что это сработает для вашей программы python main.py $(find -name "foo*"). Найдено здесь
Ответ 3
Используйте sys.stdin.read() или raw_input()
Конвейер просто изменяет дескриптор файла stdin, чтобы указать на конвейер, который пишет команда слева.
Ответ 4
Я думаю, вы можете сделать:
import sys
print sys.stdin.readlines() #or what you want
Ответ 5
Я считаю, fileinput может быть тем, что вы хотите.