У меня есть дюжина программ, которые могут принимать входные данные через stdin или параметр, и я хотел бы реализовать те же функции аналогичным образом для вывода.
Код optparse выглядит следующим образом:
parser.add_option('-f', '--file',
default='-',
help='Specifies the input file. The default is stdin.')
parser.add_option('-o', '--output',
default='-',
help='Specifies the output file. The default is stdout.')
Остальная часть применимого кода выглядит следующим образом:
if opts.filename == '-':
infile = sys.stdin
else:
infile = open(opts.filename, "r")
if opts.output == '-':
outfile = sys.stdout
else:
outfile = open(opts.output, "w")
Этот код отлично работает, и мне нравится его простота, но я не смог найти ссылку на кого-либо, использующего значение по умолчанию '-' для вывода, чтобы указать stdout. Является ли это хорошим последовательным решением или я пропускаю что-то лучшее или более ожидаемое?