6

Yazdığım python programı için üç farklı şekilde konfigüre etme fırsatı vermek istiyorum. Ortam değişkenleri, yapılandırma dosyaları ve komut satırı argümanları.Yapılandırma değerlerini hangi sırayla okuyorsunuz?

Mantıken komut satırı argümanlarının her zaman en yüksek önceliğe sahip olması gerektiğini düşünüyorum. Ortam değişkenlerinin yapılandırma dosyalarına göre öncelikli olup olmamasından şüphe duyuyorum. Ve yapılandırma dosyalarının sistem çapında mı, kullanıcıya özel mi yoksa komut satırında argüman olarak mı verildiği önemli mi?

(benim platformu Unix/Linux olduğunu unutmayın)

cevap

15

Ben çevre var, sonra yerel yapılandırma dosyası daha sonra küresel yapılandırma dosyası bulunamadı eğer bir komut satırı parametresi için ilk bakış, biliyorum standardı. Bir paket bir yere kurulduğunda

. Bir varsayılan yapılandırma dosyası olacaktır. Bu bir yerel yapılandırma dosyası ile değiştirilebilir. Hangi bir çevre parametresi ile overrridden olabilir ve daha sonra komut satırı param en yüksek önceliğe sahiptir.

Komut satırında bir yapılandırma dosyası bildirilmişse, içeriği ortam parametrelerine veya başka yapılandırma dosyalarına göre öncelikli olacaktır. Ancak komut satırı paramları önceliğe sahip olacak. Ancak, arama yolunun hala mevcut olduğunu unutmayın. Paket bir varis arıyorsa arar.

Command line. 
Config file thats name is declared on the command line. 
Environment vars 
Local config file (if exists) 
Global config file (if exists) 

Birçok komut satırı derleyiciler ve verilen sipariş anlamlı her zaman resmi veya eğer

+0

Bilmiyorum benzer bir şekilde Boost kütüphane yapılandırma pak eserlerini düşünüyorum ama bana oldukça iyi sesler:) +1 – Mecki

+0

Her zaman çok para harcayabilir ve IEEE standardı oluşturabiliriz. Na. Küçük ödül için çok fazla zaman ve çaba. Microsoft ve Google ile diğer sıradan şüphelilerin, Mecki/Kral kılavuzuna uymalarının neden gerekmediği konusunda binlerce ve bir nedenleri olacaktı. – kingchris

+1

"Komut satırındaki yapılandırma dosyası" konumu tartışılabilir. Deneyimlerimden, genellikle stok dosyalarını değiştirir. –

İlgili konular