piton

Python Komut Dosyasına Komut Satırı Bağımsız Değişkenleri Nasıl Eklenir?

Python Komut Dosyasına Komut Satırı Bağımsız Değişkenleri Nasıl Eklenir?
Öncelikle terminal öykünücülerinde ve hatta GUI uygulamalarında çalıştırılması amaçlanan bir Python betiği veya uygulaması geliştirdiyseniz, komut satırı bağımsız değişkenleri eklemek onun kullanılabilirliğini, kod okunabilirliğini, uygulama yapısını ve uygulamanın genel kullanım kolaylığını iyileştirebilir. son kullanıcılar. Bu komut satırı bağımsız değişkenleri ayrıca "seçenekler" veya "anahtarlar" olarak da adlandırılır ve genellikle bash komut dosyalarında ve diğer C/C++ tabanlı programlarda gördüğünüz bağımsız değişkenlere benzer şekilde çalışır.

Python komut dosyalarına argüman eklemek için, adında yerleşik bir modül kullanmanız gerekir "arg ayrıştırma". Adından da anlaşılacağı gibi, bir Python betiği veya uygulaması başlatılırken kullanılan komut satırı argümanlarını ayrıştırır. Bu ayrıştırılmış argümanlar, uygun "türde" olduklarından emin olmak için "argparse" modülü tarafından da kontrol edilir. Bağımsız değişkenlerde geçersiz değerler varsa hatalar oluşur.

Argparse modülünün kullanımı en iyi örneklerle anlaşılabilir. Aşağıda, argparse modülünü kullanmaya başlamanızı sağlayacak bazı kod örnekleri verilmiştir.

Örnek 1: Yardım Argümanı ve Mesajı Oluşturun

Aşağıdaki kod örneğini göz önünde bulundurun:

bağımsız değişkeni içe aktar
ayrıştırıcı = argparse.ArgumentParser(description='Bir test programı.')
args = ayrıştırıcı.parse_args()

İlk ifade “argparse” modülünü içe aktarır. Ardından, “ArgumentParser” nesnesinin yeni bir örneği oluşturulur ve programın kısa bir açıklaması argüman olarak sağlanır. ArgumentParser nesnesi, komut satırı argüman değerlerini Python tarafından anlaşılan veri türlerine dönüştürmek için gereklidir. Bu, son ifadede gösterildiği gibi ArgumentParser nesnesinin "parse_args" yöntemiyle yapılır.

Yukarıda belirtilen örnek kodu “test” adlı bir dosyaya kaydettiğinizi varsayarsak.py”, aşağıdaki komutları çalıştırmanız programla ilgili mesajlara yardımcı olmanızı sağlayacaktır.

$ ./Ölçek.py -h
$ ./Ölçek.py -- yardım

Buna benzer bir çıktı almalısınız:

kullanım: test.p [-h]
Bir test programı isteğe bağlı argümanlar:
-h, --help bu yardım mesajını göster ve çık

Yukarıda belirtilen kod örneğine, ayrıştırılmış argümanları işlemek ve bunları nesnelere dönüştürmek için hiçbir mantığın eklenmediğini unutmayın. Bu nedenle, bağımsız argümanlar için yardım mesajları çıktıda gösterilmez. Programınıza ayrıştırılmış argümanların değerlerini işlemek için mantık eklediğinizde, yardım mesajları bağımsız argümanlar için açıklamalar göstermeye başlayacaktır.

Örnek 2: Bir String Argümanını Ele Alın

Python betiğiniz tarafından kabul edilebilir argümanlar eklemek için “add_argument” yöntemini kullanmanız gerekir. Aşağıdaki koda bir göz atın:

bağımsız değişkeni içe aktar
ayrıştırıcı = argparse.ArgumentParser(description='Bir test programı.')
ayrıştırıcı.add_argument("print_string", help="Verilen argümanı yazdırır.")
args = ayrıştırıcı.parse_args()
yazdır(arglar.print_string)

“add_argument” yönteminin kullanımını gösteren yeni bir ifade eklendi. Komut dosyasını başlatırken eklenen herhangi bir argüman, “ArgumentParser” tarafından “print_string” nesnesi olarak ele alınacaktır.

Varsayılan olarak, "add_argument" yönteminin bağımsız değişkenlerden alınan değerleri dizeler olarak ele aldığını, dolayısıyla bu durumda "türü" açıkça belirtmeniz gerekmediğini unutmayın. Geçersiz kılınmadıkça, eklenen bağımsız değişkenlere varsayılan bir "Yok" değeri de atanır.

Bir kez daha yardım mesajına bir göz atın:

kullanım: test.py [-h] [baskı_dizesi]
Bir test programı konumsal argümanları:
print_string sağlanan argümanı yazdırır
isteğe bağlı argümanlar:
-h, --help bu yardım mesajını göster ve çık

Çıktıdaki satırlardan biri "konumsal argümanlar" diyor. Argüman için hiçbir anahtar kelime tanımlanmadığından, şu anda argüman, sağlanan argümanın sırasının ve konumunun program üzerinde doğrudan bir etkiye sahip olduğu bir “konumsal argüman” olarak ele alınmaktadır. Davranışlarını manuel olarak değiştirmediğiniz sürece konumsal argümanlar da zorunludur.

İsteğe bağlı bağımsız değişkenleri tanımlamak ve ayrıştırmak için "-" (çift tire) kullanabilir ve "varsayılan" bağımsız değişkeni kullanarak varsayılan değerlerini değiştirebilirsiniz.

bağımsız değişkeni içe aktar
ayrıştırıcı = argparse.ArgumentParser(description='Bir test programı.')
ayrıştırıcı.add_argument("--print_string", help="Verilen argümanı yazdırır.", default=”Rastgele bir dize.”)
args = ayrıştırıcı.parse_args()
yazdır(arglar.print_string)

Şimdi "testi çalıştırdığınızda.py” betiğini herhangi bir argüman olmadan, “Rastgele bir dize almalısınız.” çıktı olarak. Ayrıca, istediğiniz herhangi bir dizeyi yazdırmak için isteğe bağlı olarak "-print_string" anahtar sözcüğünü kullanabilirsiniz.

$ ./Ölçek.py --print_string Linuxİpucu.com
Linuxİpucu.com

Ek bir "required=True" bağımsız değişkeni kullanarak isteğe bağlı bir bağımsız değişkeni zorunlu hale getirebileceğinizi unutmayın.

Son olarak, ayrıntı düzeyini azaltmak için "-" (tek bir tire) kullanarak argümanın stenografi sürümlerini de tanımlayabilirsiniz.

bağımsız değişkeni içe aktar
ayrıştırıcı = argparse.ArgumentParser(description='Bir test programı.')
ayrıştırıcı.add_argument(“-p”, "--print_string", help="Verilen argümanı yazdırır.", default=”Rastgele bir dize.”)
args = ayrıştırıcı.parse_args()
yazdır(arglar.print_string)

Aşağıdaki komutu çalıştırmak size yukarıdakiyle aynı sonucu vermelidir:

$ ./Ölçek.py -p Linuxİpucu.com

Örnek 3: Bir Tamsayı Argümanını Ele Alın

Tamsayı değerlerine ihtiyaç duyan argümanları işlemek için, koşulun karşılanmaması durumunda doğrulamaya ve atma hatalarına izin vermek için "type" anahtar sözcüğünü "int" olarak ayarlamanız gerekir.

bağımsız değişkeni içe aktar
ayrıştırıcı = argparse.ArgumentParser(description='Bir test programı.')
ayrıştırıcı.add_argument("-p", "--print_string", help="Verilen argümanı yazdırır.", tür=int)
args = ayrıştırıcı.parse_args()
yazdır(arglar.print_string)

Aşağıdaki komutu çalıştırmayı deneyin:

$ ./Ölçek.py -p Linuxİpucu.com

Bunun gibi bir hata almalısınız:

kullanım: test.py [-h] [-p PRINT_STRING]
Ölçek.py: hata: argüman -p/--print_string: geçersiz int değeri: 'LinuxHint.gel

Bir tamsayı değeri sağlamak size doğru sonucu verecektir:

$ ./Ölçek.py -p 1000 1000

Örnek 4: Doğru ve Yanlış Geçişleri İşleme

"Eylem" bağımsız değişkenini kullanarak onları Doğru ve Yanlış bayrakları olarak değerlendirmek için herhangi bir değer içermeyen bağımsız değişkenleri iletebilirsiniz.

bağımsız değişkeni içe aktar
ayrıştırıcı = argparse.ArgumentParser(description='Bir test programı.')
ayrıştırıcı.add_argument("-p", "--print_string", help="Verilen argümanı yazdırır.", action="store_true")
args = ayrıştırıcı.parse_args()
yazdır(arglar.print_string)

Çıktı olarak basit bir "True" elde etmek için aşağıdaki komutu çalıştırın:

$ ./Ölçek.p -p

Komut dosyasını "-p" bağımsız değişkeni olmadan çalıştırırsanız, bunun yerine bir "Yanlış" değeri atanır. "action" anahtar sözcüğünün "store_true" değeri, "-p" bağımsız değişkeni açıkça belirtildiğinde "print_string" değişkenine bir "True" değeri atar, aksi takdirde değişkene False atanır.

Örnek 5: Argüman Değerlerini Liste Olarak Değerlendirin

Aynı anda birden fazla değer elde etmek ve bunları listede saklamak istiyorsanız, “nargs” anahtar sözcüğünü aşağıdaki biçimde sağlamanız gerekir:

bağımsız değişkeni içe aktar
ayrıştırıcı = argparse.ArgumentParser(description='Bir test programı.')
ayrıştırıcı.add_argument("-p", "--print_string", help="Verilen argümanı yazdırır.", nargile='*')
args = ayrıştırıcı.parse_args()
yazdır(arglar.print_string)

Yukarıdaki kodu test etmek için aşağıdaki komutu çalıştırın:

$ ./Ölçek.py -p "a" "b"

Bunun gibi bir çıktı almalısınız:

['a', 'b']

Sonuç

"Argparse" modülü, komut satırı uygulamalarının davranışını değiştirmek ve kullanıcı tarafından sağlanan değerleri ayrıştırmak için tonlarca seçenekle oldukça kapsamlıdır. Bu örnekler yalnızca "argparse" modülünün temel kullanımına değinmektedir. Gelişmiş ve karmaşık uygulamalar için farklı uygulamalara ihtiyacınız olabilir. Modülün tam açıklaması için resmi belgeleri ziyaret edin.

Control & manage mouse movement between multiple monitors in Windows 10
Dual Display Mouse Manager lets you control & configure mouse movement between multiple monitors, by slowing down its movements near the border. Windo...
WinMouse lets you customize & improve mouse pointer movement on Windows PC
If you want to improve the default functions of your mouse pointer use freeware WinMouse. It adds more features to help you get the most out of your h...
Mouse left-click button not working on Windows 10
If you are using a dedicated mouse with your laptop, or desktop computer but the mouse left-click button is not working on Windows 10/8/7 for some rea...