Mengapa saya harus menggunakannya daripada optparse? Apakah fitur baru mereka harus saya ketahui?
@ Nicholas menjawab dengan baik, saya pikir, tetapi bukan pertanyaan "meta" yang Anda mulai dengan:
Mengapa modul parsing baris perintah lainnya telah dibuat?
Itulah dilema nomor satu ketika modul apa pun yang berguna ditambahkan ke pustaka standar: apa yang Anda lakukan ketika cara yang jauh lebih baik, tetapi tidak kompatibel ke belakang, untuk menyediakan jenis fungsionalitas yang sama muncul?
Entah Anda tetap dengan cara lama dan diakui melampaui (biasanya ketika kita berbicara tentang paket rumit: asyncore vs twisted, tkinter vs wx atau Qt, ...) atau Anda berakhir dengan beberapa cara yang tidak kompatibel untuk melakukan hal yang sama (XML parser, IMHO, adalah contoh yang lebih baik dari ini daripada parser baris perintah - tetapi email
paket vs berbagai cara lama untuk menangani masalah serupa juga tidak terlalu jauh ;-).
Anda dapat membuat omelan mengancam dalam dokumen tentang cara-cara lama menjadi "usang", tetapi (selama Anda perlu menjaga kompatibilitas ke belakang) Anda tidak dapat benar-benar menghilangkannya tanpa menghentikan aplikasi besar dan penting dari pemindahan ke rilis Python yang lebih baru.
(Dilema nomor dua, tidak terkait langsung dengan pertanyaan Anda, dirangkum dalam pepatah lama, "perpustakaan standar adalah tempat paket yang baik untuk mati" ... dengan rilis setiap setengah tahun atau lebih, paket yang tidak terlalu, sangat stabil, tidak memerlukan rilis lebih sering dari itu, sebenarnya bisa sangat menderita dengan menjadi "beku" di perpustakaan standar ... tapi, itu benar-benar masalah yang berbeda).