Πώς να διαβάσετε από το stdin στην Python

How Read From Stdin Python



Η λήψη πληροφοριών από τον χρήστη είναι ένα σημαντικό μέρος κάθε γλώσσας προγραμματισμού. Η έξοδος των πολλών προγραμμάτων εξαρτάται από την τυπική είσοδο. Ο τρόπος λήψης δεδομένων από τον χρήστη είναι διαφορετικός για διαφορετικές γλώσσες προγραμματισμού. Υπάρχουν πολλοί τρόποι στην python για ανάγνωση από την τυπική είσοδο. ο συνάρτηση εισόδου () είναι ο πιο συνηθισμένος τρόπος ανάγνωσης από την τυπική είσοδο, η οποία είναι μια ενσωματωμένη συνάρτηση. ο sys.stdin είναι ένας άλλος τρόπος είναι να διαβάσετε από την τυπική είσοδο τις κλήσεις συνάρτηση εισόδου () εσωτερικώς. Η Python έχει μια άλλη ενότητα που ονομάζεται εισαγωγή αρχείου για την ανάγνωση της τυπικής εισόδου. ο συνάρτηση εισόδου () αυτής της ενότητας μπορεί να χρησιμοποιηθεί για την ανάγνωση τυπικής εισόδου ή την ανάγνωση περιεχομένου από ένα ή περισσότερα αρχεία. Σε αυτό το σεμινάριο εξηγούνται διαφορετικοί τρόποι ανάγνωσης από την τυπική είσοδο στην Python.

Παράδειγμα 1: Διαβάστε δεδομένα από το stdin χρησιμοποιώντας τη συνάρτηση εισόδου ()

Η συνάρτηση εισόδου () είναι η πιο χρησιμοποιούμενη συνάρτηση για τη λήψη εισόδου από το χρήστη. Δημιουργήστε ένα αρχείο python με το ακόλουθο σενάριο για να λάβετε πληροφορίες από το χρήστη μέχρι να πατηθεί το πλήκτρο ‘n’. Εδώ, δημιουργείται ένας άπειρος βρόχος χρησιμοποιώντας τον βρόχο while. Η πρώτη συνάρτηση εισόδου () χρησιμοποιείται για τη λήψη δεδομένων από το χρήστη και η λειτουργία εκτύπωσης () χρησιμοποιείται για την εκτύπωση της τιμής εισόδου. Στη συνέχεια, η συνάρτηση εισόδου () του σεναρίου χρησιμοποιείται για να ζητήσει από το χρήστη να συνεχίσει την εργασία ξανά ή να εξέλθει από το σενάριο. Εάν ο χρήστης πατήσει «n» ή «N», η επανάληψη του βρόχου θα σταματήσει από την εντολή διακοπής. Διαφορετικά, ο βρόχος θα επαναληφθεί και θα λάβει άλλη είσοδο από το χρήστη. Η συνάρτηση άνω () χρησιμοποιείται στο σενάριο για να κεφαλαιοποιήσει την τιμή που δίνει ο χρήστης.







# Ορίστε έναν άπειρο βρόχο

ενώ Αληθής:

# Λάβετε πληροφορίες από τον χρήστη

inputVal= εισαγωγή(«Πληκτρολογήστε οποιοδήποτε κείμενο: n')

# Εκτυπώστε την τιμή εισαγωγής

Τυπώνω('Η τιμή εισόδου είναι %s'%(inputVal))

# Ζητήστε την επόμενη επανάληψη

nextInput= εισαγωγή('Θέλετε να συνεχίσετε? (Ν/Ν) ')

# Τερματισμός από το βρόχο εάν πατηθεί το 'n'

ανnextInput.ανώτερος() == 'N':

Διακοπή

# Εκτυπώστε το μήνυμα τερματισμού

Τυπώνω('Το πρόγραμμα τερματίστηκε.')

Παραγωγή:

Η ακόλουθη παρόμοια έξοδος θα εμφανιστεί μετά την εκτέλεση του παραπάνω σεναρίου. Εδώ, ' LinuxHint 'Έχει δώσει ως πρώτη τιμή εισόδου και τερματίστηκε από το σενάριο για το πάτημα του χαρακτήρα,' n '.





Παράδειγμα-2: Διαβάστε δεδομένα από το stdin χρησιμοποιώντας sys.stdin

ο sys.stdin είναι μια άλλη επιλογή της Python να λάβει τυπική είσοδο από τους χρήστες από το τερματικό. Καλεί εσωτερικά τη συνάρτηση εισόδου () και προσθέτει « n «Μετά τη λήψη της εισόδου. Δημιουργήστε ένα αρχείο python με το ακόλουθο σενάριο για να ελέγξετε τη χρήση του sys.stdin για λήψη τυπικής εισόδου. Εδώ, ο βρόχος «for-in» χρησιμοποιείται για να πάρει την είσοδο από τον χρήστη άπειρους χρόνους έως ότου ο χρήστης θέλει να τερματίσει το σενάριο. Μετά την εκτύπωση της τιμής εισόδου, το συνάρτηση εισόδου () χρησιμοποιείται για να ζητήσει από το χρήστη να σταματήσει ή όχι το σενάριο. Το σενάριο θα τερματιστεί εάν ο χρήστης πατήσει « και ' ή ' ΚΑΙ ‘. ο συνάρτηση άνω () χρησιμοποιείται επίσης εδώ για να κεφαλαιοποιήσει την τιμή εισόδου.





# Εισαγωγή ενότητας sys

εισαγωγή sys


Τυπώνω('Πληκτρολογήστε οποιοδήποτε κείμενο:')


# Λάβετε πληροφορίες χρησιμοποιώντας το stdin

ΓιαinputValσε sysΤοstdin:

# Εκτυπώστε την τιμή εισαγωγής

Τυπώνω('Η τιμή εισόδου είναι:%s'% inputVal)


# Ζητήστε την επόμενη επανάληψη

nextInput= εισαγωγή(«Θέλετε να τερματίσετε; (Ν/Ν) ')

# Τερματισμός από το βρόχο εάν πατήσετε 'y/Y'

ανnextInput.λωρίδα()Τοανώτερος() == 'ΚΑΙ':

Διακοπή

αλλού:

Τυπώνω('Πληκτρολογήστε οποιοδήποτε κείμενο:')

Παραγωγή:

Η ακόλουθη παρόμοια έξοδος θα εμφανιστεί μετά την εκτέλεση του παραπάνω σεναρίου. Εδώ, ' Προγραμματισμός Python 'Έχει δώσει ως πρώτη τιμή εισόδου και τερματίστηκε από το σενάριο για το πάτημα του χαρακτήρα,' y '.



Παράδειγμα-3: Διαβάστε δεδομένα από το stdin χρησιμοποιώντας εισαγωγή αρχείου

Το αρχείο εισαγωγής είναι μια άλλη ενότητα της Python για λήψη τυπικής εισόδου. Οι γραμμές κειμένου μπορούν να ληφθούν από το τερματικό ή ένα αρχείο χρησιμοποιώντας fileinput.input () Το Εάν δεν παρέχεται τιμή ορίσματος σε αυτήν τη συνάρτηση, θα λάβει είσοδο από το τερματικό και εάν το όνομα ενός υπάρχοντος αρχείου παρέχεται ως τιμή ορίσματος, θα λάβει την είσοδο από το αρχείο. Δημιουργήστε ένα αρχείο python με το ακόλουθο σενάριο για να λάβετε τυπική είσοδο από το τερματικό. Εδώ, ο βρόχος 'for-in' χρησιμοποιείται ως προηγούμενο παράδειγμα για να λάβει είσοδο για άπειρους χρόνους έως ότου ο χρήστης θέλει να τερματίσει το σενάριο. Στη συνέχεια, η συνάρτηση εισόδου () χρησιμοποιείται για να ζητήσει από το χρήστη να σταματήσει ή όχι το σενάριο. Το σενάριο θα τερματιστεί εάν ο χρήστης πληκτρολογήσει «Τερματίστε» ή «Κλείστε» ή «ΚΛΕΙΣΤΕ» Το ο συνάρτηση άνω () χρησιμοποιείται επίσης εδώ για να κεφαλαιοποιήσει την τιμή εισόδου. ο λωρίδα () συνάρτηση χρησιμοποιείται για την αφαίρεση των επιπλέον διαστημάτων και από τις δύο πλευρές της τιμής εισόδου.

# Εισαγωγή μονάδας εισαγωγής αρχείων

εισαγωγή εισαγωγή αρχείου


Τυπώνω('Εισαγάγετε το κείμενο:')

'' ''

Λάβετε είσοδο χρησιμοποιώντας τη συνάρτηση fileinput.input () και

πατήστε ctrl+D για να ολοκληρώσετε τη λήψη της τιμής εισόδου

'' ''


ΓιαinputValσε εισαγωγή αρχείουΤοεισαγωγή():

# Τερματισμός από τον βρόχο εάν πληκτρολογήσετε 'quit'

ανinputVal.λωρίδα()Τοανώτερος() == 'ΕΓΚΑΤΑΛΕΙΠΩ':

Διακοπή


# Εκτυπώστε την τιμή εισαγωγής

Τυπώνω('Η τιμή εισόδου είναι:',inputVal)

Τυπώνω('Εισαγάγετε το κείμενο:')

Παραγωγή:

Η ακόλουθη παρόμοια έξοδος θα εμφανιστεί μετά την εκτέλεση του παραπάνω σεναρίου. Εδώ, το ‘Learn python from LinuxHint.com’ έχει δώσει ως πρώτη τιμή εισαγωγής και τερματίζεται από το σενάριο για την πληκτρολόγηση της λέξης, ‘quit’. Πρέπει να θυμάστε ένα πράγμα ενώ λαμβάνετε είσοδο από το τερματικό χρησιμοποιώντας το εισαγωγή αρχείου μονάδα μέτρησης. Δηλαδή, πρέπει να πατήσετε ctrl+d μετά τη λήψη της εισόδου.

Πρέπει να δώσετε το όνομα αρχείου ως τιμή ορίσματος του fileinput.input () λειτουργία εάν θέλετε να λάβετε δεδομένα από το αρχείο αντί για το τερματικό.

Συμπέρασμα:

Τρεις διαφορετικοί τρόποι λήψης εισόδου από το τερματικό παρουσιάστηκαν σε αυτό το σεμινάριο χρησιμοποιώντας τρία απλά παραδείγματα. Δεν απαιτείται ενότητα για τη χρήση του συνάρτηση εισόδου () για τη λήψη της εισόδου. Η ενότητα sys απαιτείται για εισαγωγή για χρήση sys.stdin , και το μονάδα εισαγωγής αρχείων απαιτείται για εισαγωγή για χρήση fileinput.input () στο σενάριο για λήψη τυπικής εισαγωγής. Ελπίζω ότι οι χρήστες της Python θα λάβουν την τυπική εισαγωγή βάσει των απαιτήσεών τους αφού διαβάσουν αυτό το σεμινάριο.