Python'da stdin'den nasıl okunur

How Read From Stdin Python



Kullanıcıdan girdi almak, herhangi bir programlama dilinin önemli bir parçasıdır. Birçok programın çıktısı standart girdiye bağlıdır. Kullanıcıdan girdi alma şekli, farklı programlama dilleri için farklıdır. Python'da standart girdiden okumanın birçok yolu vardır. NS girdi() işlevi en yaygın yol, yerleşik bir işlev olan standart girdiden okumaktır. NS sys.stdin başka bir yol, çağrıları standart girişten okumaktır. girdi() işlevi dahili olarak. Python adlı başka bir modül var dosya girişi standart girişi okumak için. NS girdi() işlevi Bu modül standart girdiyi okumak veya bir veya daha fazla dosyadan içerik okumak için kullanılabilir. Bu eğitimde Python'daki standart girdiden okumanın farklı yolları açıklanmıştır.

Örnek-1: input() işlevini kullanarak stdin'den veri okuyun

input() işlevi, kullanıcıdan girdi almak için en çok kullanılan işlevdir. 'n' tuşuna basılana kadar kullanıcıdan girdi almak için aşağıdaki komut dosyasıyla bir python dosyası oluşturun. Burada while döngüsü kullanılarak sonsuz bir döngü oluşturulur. İlk input() işlevi, kullanıcıdan veri almak için, print() işlevi ise girdi değerini yazdırmak için kullanılır. Ardından, komut dosyasının input() işlevi, kullanıcıdan göreve tekrar devam etmesini veya komut dosyasından çıkmasını istemek için kullanılır. Kullanıcı 'n' veya 'N' tuşlarına basarsa, döngünün yinelemesi break ifadesi tarafından durdurulur; aksi takdirde, döngü tekrar yinelenir ve kullanıcıdan başka bir girdi alır. Üst() işlevi, kullanıcı tarafından verilen değeri büyük harf yapmak için komut dosyasında kullanılır.







# Sonsuz bir döngü tanımlayın

süre NS:

# Kullanıcıdan girdi alın

girişVal= giriş('Herhangi bir metin yazın: ')

# Girilen değeri yazdır

Yazdır('Giriş değeri %s'%(girişVal))

# Bir sonraki yinelemeyi sor

sonrakiGiriş= giriş('Devam etmek istiyor musun? (E/H)')

# 'n' tuşuna basıldığında döngüden çıkar

EğersonrakiGiriş.üst() == 'N':

kırmak

# Sonlandırma mesajını yazdır

Yazdır('Program sonlandırıldı.')

Çıktı:

Yukarıdaki betiği çalıştırdıktan sonra aşağıdaki benzer çıktı görünecektir. Buraya, ' Linuxİpucu ' ilk giriş değeri olarak verildi ve 'n' karakterine basmak için komut dosyasından sonlandırıldı.





Örnek-2: sys.stdin kullanarak stdin'den veri okuyun

NS sys.stdin terminalden kullanıcılardan standart girdi almak için Python'un başka bir seçeneğidir. input() işlevini dahili olarak çağırır ve ' ' girdisini aldıktan sonra. Kullanımını kontrol etmek için aşağıdaki komut dosyasıyla bir python dosyası oluşturun. sys.stdin standart girdi almak için Burada, 'for-in' döngüsü, kullanıcı komut dosyasını sonlandırmak isteyene kadar kullanıcıdan sonsuz kez girdi almak için kullanılır. Giriş değerini yazdırdıktan sonra, girdi() işlevi Kullanıcıdan betiği durdurup durdurmamasını istemek için kullanılır. Kullanıcı ' tuşuna basarsa komut dosyası sonlandırılacaktır. ve ' veya ' VE '. NS üst () işlevi burada da girdi değerini büyük harf yapmak için kullanılır.





# Sistem modülünü içe aktar

içe aktarmak sistem


Yazdır('Herhangi bir metin yazın:')


# stdin kullanarak girdi alın

içingirişValiçinde sistem.standart:

# Girilen değeri yazdır

Yazdır('Giriş değeri: %s'% girişVal)


# Bir sonraki yinelemeyi iste

sonrakiGiriş= giriş('Bitirmek mi istiyorsun? (E/H)')

# 'y/Y' tuşuna basılırsa döngüden çıkar

EğersonrakiGiriş.şerit().üst() == 'VE':

kırmak

Başka:

Yazdır('Herhangi bir metin yazın:')

Çıktı:

Yukarıdaki betiği çalıştırdıktan sonra aşağıdaki benzer çıktı görünecektir. Buraya, ' Python Programlama ' ilk giriş değeri olarak verildi ve 'y' karakterine basmak için komut dosyasından sonlandırıldı.



Örnek-3: fileinput kullanarak stdin'den veri okuyun

Fileinput, standart girdi almak için başka bir Python modülüdür. Metin satırları kullanılarak terminalden veya bir dosyadan alınabilir. dosyainput.input() . Bu fonksiyonda herhangi bir argüman değeri sağlanmadıysa, terminalden girdi alacak ve mevcut bir dosyanın adı argüman değeri olarak verilmişse, girdiyi dosyadan alacaktır. Terminalden standart girdi almak için aşağıdaki komut dosyasıyla bir python dosyası oluşturun. Burada, kullanıcı betiği sonlandırmak isteyene kadar sonsuz kez girdi almak için önceki örnek olarak 'içinde' döngüsü kullanılır. Daha sonra, kullanıcıdan betiği durdurup durdurmayacağını sormak için input() işlevi kullanılır. Kullanıcı yazarsa komut dosyası sonlandırılır 'bırak' veya 'Çıkış' veya 'ÇIK' . NS üst () işlevi burada da girdi değerini büyük harf yapmak için kullanılır. NS şerit() işlevi giriş değerinin her iki tarafındaki fazla boşlukları kaldırmak için kullanılır.

# Dosya giriş modülünü içe aktar

içe aktarmak dosya girişi


Yazdır('Metni girin:')

'''

fileinput.input() işlevini kullanarak girdi alın ve

giriş değerini almayı bitirmek için ctrl+D tuşlarına basın

'''


içingirişValiçinde dosya girişi.giriş():

# 'quit' yazılırsa döngüden çık

EğergirişVal.şerit().üst() == 'ÇIKIŞ YAPMAK':

kırmak


# Girilen değeri yazdır

Yazdır('Giriş değeri:',girişVal)

Yazdır('Metni girin:')

Çıktı:

Yukarıdaki betiği çalıştırdıktan sonra aşağıdaki benzer çıktı görünecektir. Burada, 'LinuxHint.com'dan python öğrenin', ilk giriş değeri olarak verilmiş ve 'quit' kelimesini yazmak için komut dosyasından sonlandırılmıştır. Terminalden girdi alırken bir şeyi hatırlamanız gerekir. dosya girişi modül. Yani girdiyi aldıktan sonra ctrl+d tuşlarına basmanız gerekiyor.

Dosya adını argüman değeri olarak sağlamanız gerekir. dosyainput.input() terminal yerine dosyadan veri almak istiyorsanız işlev.

Çözüm:

Bu öğreticide, üç basit örnek kullanılarak terminalden girdi almanın üç farklı yolu gösterilmiştir. kullanmak için herhangi bir modüle gerek yoktur. girdi() işlevi girdi almak için. Sys modülünün kullanmak için içe aktarılması gerekiyor sys.stdin , ve dosya giriş modülü kullanmak için içe aktarmak gerekiyor dosyainput.input() standart girdi almak için komut dosyasında. Python kullanıcılarının bu öğreticiyi okuduktan sonra gereksinimlerine göre standart girdi alacağını umuyorum.