Diberikan:
import argparse
pa = argparse.ArgumentParser()
pa.add_argument('--foo')
pa.add_argument('--bar')
print pa.parse_args('--foo 1'.split())
bagaimana saya
- membuat setidaknya satu dari "foo, bar" wajib:
--foo x
,--bar y
dan--foo x --bar y
baik-baik saja - membuat paling banyak salah satu dari "foo, bar" wajib:
--foo x
atau--bar y
baik-baik saja,--foo x --bar y
tidak
Jawaban:
Saya pikir Anda sedang mencari sesuatu seperti pengecualian bersama (setidaknya untuk bagian kedua dari pertanyaan Anda).
Dengan cara ini, hanya foo atau bar yang akan diterima, bukan keduanya.
BTW, baru saja menemukan pertanyaan lain yang merujuk pada jenis masalah yang sama.
Semoga ini membantu
sumber
XOR
, pada dasarnya). Kekhawatiran awal saya adalah bahwa Anda hanya menyelesaikan satu dari dua syarat.Jika Anda memerlukan beberapa pemeriksaan yang tidak disediakan oleh modul, Anda selalu dapat melakukannya secara manual:
sumber