piton

Python'da komut satırındaki argümanlar nasıl ayrıştırılır

Python'da komut satırındaki argümanlar nasıl ayrıştırılır
Komut satırı argümanları, program yürütülürken programda veri iletmek için kullanılır. Bu özellik, popüler programlama dillerinin çoğunda mevcuttur. Ancak komut satırı argümanlarının işlenmesi farklı diller için farklıdır. Argüman değerleri, programın çalıştırıldığı sırada program adıyla birlikte verilir. Python dili bu özelliği destekler. Python betiğinde komut satırı bağımsız değişkenlerinin nasıl ayrıştırıldığı bu makalede gösterilmektedir.

Komut satırı argümanını kullanarak ayrıştırma sistem modül

Komut satırı bağımsız değişkenleri kullanılarak bir listede saklanır sistem modül.  sistem.bağımsız değişken komut satırı argümanlarının değerlerini okumak için kullanılır. Komut satırı bağımsız değişkenlerinin toplam sayısı kullanılarak sayılabilir uzun() fonksiyon. Bu modülün kullanımı makalenin bölümünde açıklanmıştır.

Örnek 1: Argüman sayısını ve argüman değerlerini okuma

Aşağıdaki python betiğiyle bir dosya oluşturun.  Burada komut satırı argüman değerleri değişkende saklanır, bağımsız değişken diğer diller gibi. uzun() yöntem, komut dosyasının çalıştırılması sırasında geçirilen toplam argüman sayısını sayar. Argüman değerleri, betiğin sonunda bir dizi olarak yazdırılır.

# Sistem modülünü içe aktar
ithalat sistemi
# Toplam argüman sayısını yazdır
print('Toplam argüman:', len(sys.argv))
print('Argüman değerleri şunlardır:', str(sys.argv))

Çıktı:

Yukarıdaki komut dosyası burada dört komut satırı argümanı kullanılarak yürütülür. İlk argüman komut dosyası adıdır ve diğerleri sayısal değerlerdir. Komut dosyasını çalıştırdıktan sonra aşağıdaki çıktı görünecektir.

Örnek 2: Döngüyü kullanarak argüman değerlerini okuma

Önceki örnekte, bağımsız değişken değerleri bir dizi olarak yazdırılır. Argüman değişkeninin türünü yazdırmak için aşağıdaki komut dosyasıyla bir dosya oluşturun ve for döngüsünü kullanarak her satırdaki her bir argüman değerini yazdırın.

# Sistem modülünü içe aktar
ithalat sistemi
# Değişkenin türünü yazdırın, sys.bağımsız değişken
print(type(sys.argv))
# Her komut satırı argümanını her satıra yazdır
print('Komut satırı argümanları şunlardır:')
sys'deki ben için.argüman:
yazdır(i)

Çıktı:

Yukarıdaki komut dosyası, komut dosyası adıyla üç bağımsız değişken sağlanarak yürütülür. Komut dosyasını çalıştırdıktan sonra aşağıdaki çıktı görünecektir.

getopt modülünü kullanarak komut satırı argümanını ayrıştırma

Getopt modül, seçeneklerle komut satırı argümanlarını ayrıştırmak için kullanılır. getopt() bu modülün yöntemi argümanları okumak için kullanılır. Bu yöntemin üç argümanı vardır. İlk iki argüman zorunludur ve son argüman isteğe bağlıdır. Bu argümanların kullanımları aşağıda verilmiştir.

argümanlar: Komut satırı argümanından alınan argümanı içerir.

kısa_seçenek: Argümanla geçen herhangi bir harf olabilir.

long_option: İki parçalı uzun seçenekleri tanımlamak için kullanılır. Bunlar seçenek adı ve seçenek değeridir.

Sözdizimi: getopt.getopt(args, short_option, [long_option])

Örnek 3: Kısa getopt seçeneklerini kullanarak argüman değerlerini okuma

getopt modül daha fazla özellik içerir sistem modül. Aşağıdaki örnek, kısa seçeneklerin nasıl kullanılabileceğini gösterir getopt() yöntem. bağımsız değişken değişken, komut dosyası adını atlayarak komut satırı bağımsız değişkenlerini depolar. Daha sonra, iki seçenek tanımlanır getopt() çalışma zamanında argümanla kullanılabilecek yöntem. Herhangi bir hata oluşursa, bir hata mesajı görüntülenecektir.

# getopt modülünü içe aktar
ithalat getopt
# Sistem modülünü içe aktar
ithalat sistemi
# Betik adını atlayarak bağımsız değişken değişkenini depola
argv = sys.argv[1:]
 
Deneyin:
# getopt kısa seçeneklerini tanımlayın
seçenekler, argümanlar = getopt.getopt(argv, 'x:y:')
# seçenekleri ve argümanı yazdır
yazdır(seçenekler)
yazdır(arg)
 
getopt hariç.GetoptError:
# Yanlış seçenek sağlanmışsa hata mesajını yazdırın
print('Yanlış seçenek verilmiş')
# Komut dosyasını sonlandır
sistem.çıkış(2)

Çıktı:

Komut dosyasını herhangi bir argüman olmadan, argümanları doğru seçeneklerle ve argümanları yanlış seçenekle çalıştırın.

Örnek 4: Kısa ve uzun getopt seçeneklerini kullanarak argüman değerlerini okuma

Bu örnek, hem kısa hem de uzun seçeneklerin bağımsız değişken değerleriyle nasıl kullanılabileceğini gösterir. Ne zaman iki sayı ekleyecek '-a' veya '-Ekle' bir seçenek olarak kullanılacak ve ' olduğunda iki sayı çıkarılacaktır-s' veya '-alt' çalışma zamanında bir seçenek olarak kullanılacak.

# getopt modülünü içe aktar
ithalat getopt
# Sistem modülünü içe aktar
ithalat sistemi
# Betik adını atlayarak bağımsız değişken değişkenini depola
argv = sys.argv[1:]
# Sonuç değişkenini başlat
sonuç=0
 
Deneyin:
 
# getopt kısa ve uzun seçeneklerini tanımlayın
seçenekler, argümanlar = getopt.getopt(sys.argv[1:], 'a:s', ['add=','sub='])
 
# Döngüyü kullanarak her seçeneği okuyun
opt için, seçeneklerde arg:
# Seçenek -a veya --add ise toplamı hesaplayın
katılmayı seçerseniz ('-a', '--add'):
sonuç = int(argv[1]) + int(argv[2])
# Seçenek -s veya --sub ise çıkarmayı hesaplayın
elif tercihi ('-s', '--sub'):
sonuç = int(argv[1]) - int(argv[2])
 
print('Sonuç = ', sonuç)
getopt hariç.GetoptError:
# Yanlış seçenek sağlanmışsa hata mesajını yazdırın
print('Yanlış seçenek verilmiş')
# Komut dosyasını sonlandır
sistem.çıkış(2)

Çıktı:

Komut dosyasını herhangi bir argüman ve seçenek olmadan, '-a' seçeneğiyle argümanlar, '-s' seçeneği ile argümanlar ve yanlış seçenek ile argümanlar olmadan çalıştırın.

argparse modülünü kullanarak komut satırı argümanını ayrıştırma

Argparse modülü, komut satırı argümanlarını okumak için birçok seçenek içerir. Varsayılan argüman değerleri, veri tipine sahip argüman, konumsal argümanlar, yardım mesajı vb. bu modül tarafından sağlanabilir.

Örnek 5: argparse kullanarak komut satırı argümanlarını okuma

Aşağıdaki örnek, tartışma komut satırı argümanını okumak için modül. Burada, komut satırı argümanlarını okumak için iki seçenek tanımlanmıştır. Bunlar '-n' veya '-isim' ve '-e' veya '-e-posta'. Kullanıcı herhangi bir yanlış argüman sağlarsa, kullanım mesajıyla birlikte bir hata gösterecektir. Kullanıcı, argümanlarla doğru seçenekler sağlarsa, argüman değerlerini görüntüler. kullanıcı betiği '-help' seçeneğiyle çalıştırırsa, betiği çalıştırmak için gerekli mesajı sağlayacaktır.

# argparse modülünü içe aktar
bağımsız değişkeni içe aktar
# Sistem modülünü içe aktar
ithalat sistemi
# Komut satırı bağımsız değişkenlerini tanımlamak için işlev bildir
def readOptions(args=sys.argv[1:]):
ayrıştırıcı = argparse.ArgumentParser(description="Ayrıştırma komutları listeleri.")
ayrıştırıcı.add_argument("-n", "--name", help="Adınızı yazın.")
ayrıştırıcı.add_argument("-e", "--email", help="E-posta adresinizi yazın.")
opts = ayrıştırıcı.parse_args(args)
dönüş seçenekleri
# Argüman değerlerini okumak için işlevi çağırın
seçenekler = readOptions(sys.argv[1:])
yazdır(seçenekler.isim)
yazdır(seçenekler.e-posta)

Çıktı:

Komut dosyasını yanlış seçenek, doğru seçenek ve yardım seçeneği ile çalıştırın.

Sonuç:

Bu öğreticide, üç python modülü kullanılarak komut satırı argümanlarını okumanın çeşitli yolları açıklanmaktadır. Umarım bu eğitim, python'da komut satırı argümanlarını kullanarak veri okumak isteyen kodlayıcıya yardımcı olur.

Yazarın Videosunu İzle: burada

How to Show FPS Counter in Linux Games
Linux gaming got a major push when Valve announced Linux support for Steam client and their games in 2012. Since then, many AAA and indie games have m...
How to download and Play Sid Meier's Civilization VI on Linux
Introduction to the game Civilization 6 is a modern take on the classic concept introduced in the series of the Age of Empires games. The idea was fai...
How to Install and Play Doom on Linux
Introduction to Doom The Doom Series originated in the 90s after the release of the original Doom. It was an instant hit and from that time onwards th...