Другие ответы уже указывали на sys.stdin, я дополню их примером grep, который использует fileinput для реализации типичное поведение инструментов UNIX (если файлы не указаны, они читаются из stdin, многие файлы могут быть отправлены в качестве аргументов; - означает stdin):
import fileinput
import re
import sys
def grep(lines, regexp):
return (line for line in lines if regexp.search(line))
def main(args):
if len(args) < 1:
print("Usage: grep.py PATTERN [FILE...]", file=sys.stderr)
return 2
regexp = re.compile(args[0])
input_lines = fileinput.input(args[1:])
for output_line in grep(input_lines, regexp):
sys.stdout.write(output_line)
if __name__ == '__main__':
sys.exit(main(sys.argv[1:]))