Rackup успешно запускает любое приложение Rack с помощью обработчика по умолчанию. Например:
class RackApp
def call(environment)
[
'200',
{'Content-Type' => 'text/html'},
["Hello world"]
]
end
end
run RackApp.new
Но rackup дает «NoMethodError at/undefined метод 'call' для nil: NilClass», когда последняя строка изменяется, чтобы вместо этого использовать встроенный обработчик CGI стойки:
Rack::Handler::CGI.run RackApp.new
То же самое возражение возникает для других встроенных обработчиков стойки. например, Стойка:: Укладчик:: Тонкий, Стойка:: Укладчик:: FastCGI, даже Стойка:: Укладчик:: WEBrick (то, которое является Стойкой укладчика, выбирает выше в режиме по умолчанию).
Каков здесь правильный синтаксис?
-121--1830863-Я нашел очень полезный синтаксис
parser.add_argument('-i', '--input-file', type=argparse.FileType('r'), default='-')
для указания входного файла или использования stdin - оба из которых я хочу в своей программе. Однако входной файл не всегда требуется. Если я не использую -i
или перенаправляю входные данные с помощью одного из
$ someprog | my_python_prog
$ my_python_prog < inputfile
, я не хочу, чтобы программа Python ожидала ввода. Я хочу, чтобы он просто двигался и использовал значения по умолчанию.