Saya menggunakan kode sederhana berikut untuk mem-parsing beberapa argumen; perhatikan bahwa salah satunya diperlukan. Sayangnya, ketika pengguna menjalankan skrip tanpa memberikan argumen, teks penggunaan / bantuan yang ditampilkan tidak menunjukkan bahwa ada argumen non-opsional, yang menurut saya sangat membingungkan. Bagaimana saya bisa mendapatkan python untuk menunjukkan bahwa argumen tidak opsional?
Ini kodenya:
import argparse
if __name__ == '__main__':
parser = argparse.ArgumentParser(
description='Foo')
parser.add_argument('-i','--input', help='Input file name', required=True)
parser.add_argument('-o','--output', help='Output file name', default="stdout")
args = parser.parse_args()
print ("Input file: %s" % args.input )
print ("Output file: %s" % args.output )
Saat menjalankan kode di atas tanpa memberikan argumen yang diperlukan, saya mendapatkan output berikut:
usage: foo.py [-h] -i INPUT [-o OUTPUT]
Foo
optional arguments:
-h, --help show this help message and exit
-i INPUT, --input INPUT
Input file name
-o OUTPUT, --output OUTPUT
Output file name
optional arguments
untuk argumen yang diperlukan masih menyesatkan.
-i INPUT
bagian tersebut tidak dikelilingi oleh tanda kurung siku, yang menunjukkan kehalusan yang memang diperlukan. Anda juga dapat menjelaskannya secara manual melaluihelp
param