6

Bazı komut dosyaları için argümanları yönetmek üzere optparse.OptionParser kullanıyorum ve merak ettiğim/yapmak istediğim bir şeyin de bir parametreyi de kabul edebilen boole bayraklarına sahip olması (action=store_true) .Python Seçeneği Ayrıştırıcısı: İsteğe bağlı parametrelerle Boolean bayrağı

Bunu bağlam içine koymak için, makinede bulduğu kadar GPU/İşlemci kullanabilen bir uygulama var. çeşitli nedenlerle için bazen kullandığı cihazların sayısını sınırlamak istiyor ve bunun yerine başka komut satırını yığılan, ben edebilmek istiyorum: kapalıysa tüm işlemciler can kullanımı anlamına

script -c -g 

ve grafik işlemcilerin ve

script -c 2 -g 3 

sınırı 2 işlemciler ve 3 grafik işlemcileri için komut yürütme anlamına gelir.

Optparse belgelerini okuduktan sonra, ben daha akıllıca değilim. Oh büyük SO gurus! Bana bilgeliğini ödünç ver!

cevap

1

Kolayca uygulamak için callback eylemini kullanabilirsiniz. Özellikle, OptionParser numaralı geri dönüş eyleminin example 6 in the documentation sayılı değişkenleri, değişken bir argüman sayısını tartışır. İşte söz konusu örnekten çarpıcı bir alıntı: Bir seçenek bağımsız değişken bir numara almak istediğinizde

şeyler kıllı olsun. Bu durumda, , için herhangi bir yerleşik özellik sağlamadığından, bir geri arama yazmalısınız.

+0

Teşekkür Eli, bu gördüm ama – Bolster

+0

@ Andrew 'ı boolean veya bir argüman de değilim' köşe durumu için temizleyici şey umuyordum: Daha doğrusu "ya 0 ya da 1 argümanlar" olarak Görebildiğim kadarıyla yakın –

+0

Pratik olarak bir cevap. Teşekkürler @Eli – Bolster