Seçenekleri tek bir koleksiyon almak için, çevre ve komut satırı argümanları dosya ayrıştırma config
Python standart kütüphane modülleri vardıryapılandırma dosyasının açılması(configparser),ortam değişkeni okuma(os.environ), vekomut satırı argümanı ayrıştırma(argparse). Tüm bu ve de bir program yazmak istiyorum:
Bir vardırseçenek değerleri Çağlayan:
- varsayılan seçenek değeri geçersiz
- yapılandırma seçenekleri, geçersiz dosya
- ortam değişkenleri tarafından geçersiz kılındı
- komut satırı seçenekleri.
Sağlaryapılandırma dosyası konumu, komut satırında belirtilen*4 örneğin*, ve o okur (ya da yerine veya bunlara ek olarak, her zamanki yapılandırma dosyası). Bu hala yukarıdaki cascade itaat gerekir.
Sağlartek bir yerde seçenek tanımlaryapılandırma dosyaları ve komut satırı ayrıştırma davranışını belirlemek için.
Birleştirir ayrıştırılmış seçenekleri içine biryapılandırma seçeneği değerleri toplama teknereden geldiklerini bakım olmadan erişmek için programın geri kalanı için.
İhtiyacım olan her şey görünüşe göre Python standart kütüphane olduğunu, ama birlikte düzgün çalışmıyor.
Nasıl Python standart kütüphane minimum sapma ile bu elde edebilirsiniz?
CEVAP
Argparse modülü bu deli değil, bir yapılandırma dosyası, komut satırı gibi mutlu olduğun sürece yapar. (Bu, kullanıcıların yalnızca bir sözdizimi öğrenmek için bir avantaj olduğunu düşünüyorum.) Örneğin fromfile_prefix_chars ayarlama, @
, böylece, bunu yapar
my_prog --foo=bar
olur denk
my_prog @baz.conf
eğer @baz.conf
,
--foo
bar
Hatta kodunuzu foo.conf
otomatik olarak argv
değiştirerek alabilirsin
if os.path.exists('foo.conf'):
argv = ['@foo.conf'] argv
args = argparser.parse_args(argv)
Bu yapılandırma dosyalarının formatı ArgumentParser bir alt yapım ve convert_arg_line_to_args bir yöntem ekleyerek değiştirilebilir.
Nasıl komisyon bir görev için komut sa...
Nasıl bir dosya adı kullanarak uygun b...
JVM uzaktan hata ayıklama işlemi için ...
Nasıl php bulmak için.dosya komut satı...
Nasıl Eclipse komut satırı argümanları...