我發現非常有用的語法可選標準輸入與argparse
parser.add_argument('-i', '--input-file', type=argparse.FileType('r'), default='-')
用於指定輸入文件或使用標準輸入,這兩個我想在我的程序。但是,輸入文件並不總是必需的。如果我不使用-i
或與
$ someprog | my_python_prog
$ my_python_prog < inputfile
一個重定向輸入我不希望我的Python程序等待輸入。我希望它只是移動並使用默認值。
我知道我對此前的回答說過,但_this_是_exactly_我正在尋找的東西。謝謝。 –
我非常困惑。 OP表示輸入文件並不總是必需的。那麼爲什麼首先指定'infile'?爲什麼這些位置呢?最後,爲什麼OP不會運行代碼? 'argparse'教程似乎意味着它應該工作得很好...... – 2rs2ts
@ 2rs2ts _why首先指定了'infile'?_ - 參數的特定順序僅僅是一個約定,您通常希望第一個參數指定一個輸入並且第二個指定輸出。 _爲什麼這些位置呢? - - 因爲作者的偏好。這種位置參數的用法沒有錯。當你想從標準輸入讀取並寫入一個文件,例如'app.py - outfile'時,在場景中使用時可能有些笨拙,但除了那個位置參數以外,它可以工作得很好。 _爲什麼OP的代碼不工作? - 它實際上工作得很好:) –