Διαφήμιση
Το κλικ είναι ένα πακέτο Python για την εγγραφή διεπαφών γραμμής εντολών. Παράγει όμορφη τεκμηρίωση για εσάς και σας επιτρέπει να δημιουργήσετε διεπαφές γραμμής εντολών σε μία μόνο γραμμή κώδικα. Με λίγα λόγια: είναι φοβερό και μπορεί να σας βοηθήσει να πάρετε τα προγράμματά σας στο επόμενο επίπεδο.
Δείτε πώς μπορείτε να το χρησιμοποιήσετε για να ζωντανέψετε τα έργα του Python.
Γραφήματα γραμμής εντολών χωρίς κλικ
Είναι δυνατό να γράψετε προγράμματα γραμμής εντολών χωρίς να χρησιμοποιήσετε το κουμπί Κάντε κλικ, αλλά απαιτούνται περισσότερες προσπάθειες και πολύ περισσότερος κώδικας. Θα πρέπει να αναλύσετε τα επιχειρήματα της γραμμής εντολών, να εκτελέσετε επικύρωση, να αναπτύξετε λογική για να χειριστείτε διαφορετικά επιχειρήματα και να δημιουργήσετε ένα προσαρμοσμένο μενού βοήθειας. Θέλετε να προσθέσετε μια νέα επιλογή; Θα τροποποιήσετε τη λειτουργία βοήθειας στη συνέχεια.
Δεν υπάρχει τίποτα λάθος να γράφετε τον δικό σας κώδικα και αυτό είναι ένας πολύ καλός τρόπος για να μάθετε την Python, αλλά το Click σας επιτρέπει να ακολουθήσετε τις αρχές "Μην επαναλάβετε τον εαυτό σας" (DRY). Χωρίς κλικ, θα γράψετε κώδικα που είναι εύθραυστος και απαιτεί μεγάλη συντήρηση όποτε συμβαίνουν τυχόν αλλαγές.
Ακολουθεί μια απλή διεπαφή γραμμής εντολών που κωδικοποιείται χωρίς κλικ:
εισαγωγή sys. Εισαγωγή τυχαίου def do_work (): Λειτουργία για τη διαχείριση της γραμμής εντολών args = sys.argv args = args [1:] # Το πρώτο στοιχείο του args είναι το όνομα του αρχείου if len (args) == 0: print '(' Δεν έχετε περάσει καμία εντολή! ') else: για ένα in args: if a ==' --help ': print (' -help -> εμφάνιση αυτό το βασικό μενού βοήθειας.) print ('--monty -> εμφάνιση προσφοράς Monty Python.') print ('--veg -> εμφάνιση τυχαίας λαχανικής') elif a == '--monty' Τι είναι αυτό, έπειτα? "Οι Ρωμαίοι νίκησαν domus"; Οι άνθρωποι αποκαλούνται Ρωμαίοι, πάνε, το σπίτι;)) elif a == '--veg': print (random.choice ('Καρότο', 'Πατάτα', '. ') εάν __name__ ==' __main__ ': do_work ()
Αυτές οι 27 σειρές Python λειτουργούν καλά αλλά είναι πολύ εύθραυστες. Κάθε αλλαγή που κάνετε στο πρόγραμμά σας θα χρειαστεί να αλλάξετε πολλούς άλλους κωδικούς υποστήριξης. Αν αλλάξετε ένα όνομα παραμέτρου, θα χρειαστεί να ενημερώσετε τις πληροφορίες βοήθειας. Αυτός ο κώδικας μπορεί εύκολα να ξεφύγει από τον έλεγχο.
Εδώ είναι η ίδια λογική με το κλικ:
κάντε κλικ στην εισαγωγή. εισαγωγή random @ click.command () @ click.option ('- monty', προεπιλογή = False, help = 'Εμφάνιση απόσπασμα Monty Python.') @ click.option ('- veg', default = False, help = 'Εμφάνιση τυχαίας λαχανικής.') def do_work (monty, veg): Το βασικό παράδειγμα Click θα ακολουθήσει τις εντολές σας, αν είναι monty: print ('Τι είναι αυτό; "Οι Ρωμαίοι νίκησαν domus"; "__Name__ == '__main__': do_work (), αν ο λαός αποκαλείται Ρωμαίοι, πηγαίνουν, το σπίτι;) if veg: print (random.choice ('Καρότο', 'Potato'
Αυτό το παράδειγμα κλικ εφαρμόζει την ίδια λογική σε 16 γραμμές κώδικα. Τα επιχειρήματα αναλύονται για εσάς και παράγεται η οθόνη βοήθειας:
Αυτή η βασική σύγκριση δείχνει πόσο χρόνο και προσπάθεια μπορείτε να αποθηκεύσετε χρησιμοποιώντας προγράμματα όπως το κλικ. Ενώ η διασύνδεση γραμμής εντολών μπορεί να εμφανίζεται η ίδια στον τελικό χρήστη, ο υποκείμενος κώδικας είναι απλούστερος και θα εξοικονομήσετε πολύ χρόνο κωδικοποίησης. Οποιεσδήποτε αλλαγές ή ενημερώσεις που γράφετε στο μέλλον θα εμφανίσουν επίσης σημαντικές αυξήσεις χρόνου ανάπτυξης.
Ξεκινώντας με κλικ για Python
Πριν χρησιμοποιήσετε το κουμπί Κλικ, μπορείτε να το επιθυμείτε να διαμορφώσετε ένα εικονικό περιβάλλον Μάθετε πώς να χρησιμοποιείτε το εικονικό περιβάλλον PythonΕίτε είστε έμπειρος προγραμματιστής Python, είτε απλά αρχίζετε, η εκμάθηση πως να ρυθμίσετε ένα εικονικό περιβάλλον είναι απαραίτητη για κάθε έργο της Python. Διαβάστε περισσότερα . Αυτό θα σταματήσει τα πακέτα Python που είναι αντιφατικά με το Python του συστήματός σας ή άλλα έργα στα οποία ενδέχεται να εργάζεστε. Θα μπορούσατε επίσης δοκιμάστε την Python στο πρόγραμμα περιήγησής σας Δοκιμάστε την Python στον περιηγητή σας με αυτά τα δωρεάν διαδικτυακά διαδραστικά κελύφηΕίτε περνάτε από αυτά τα παραδείγματα της Python είτε εξετάζετε τα βασικά των συστοιχιών και των λιστών, μπορείτε να δοκιμάσετε τον κώδικα ακριβώς στο πρόγραμμα περιήγησής σας. Εδώ είναι οι καλύτεροι online Python διερμηνείς που έχουμε βρει. Διαβάστε περισσότερα αν θέλετε να παίξετε με την Python και κάντε κλικ στο κουμπί.
Τέλος, βεβαιωθείτε ότι εκτελείτε την έκδοση Python 3. Είναι δυνατό να χρησιμοποιήσετε το στοιχείο Κάντε κλικ με την έκδοση Python 2, αλλά αυτά τα παραδείγματα είναι στη Python 3. Μάθετε περισσότερα σχετικά με το διαφορές μεταξύ Python 2 και Python 3.
Αφού ετοιμαστείτε, εγκαταστήστε το κλικ από τη γραμμή εντολών χρησιμοποιώντας το PIP (πώς να εγκαταστήσετε το PIP για Python):
κάντε κλικ στο κουμπί install pip
Γράφοντας το πρώτο σας πρόγραμμα κλικ
Σε ένα πρόγραμμα επεξεργασίας κειμένου, ξεκινήστε με την εισαγωγή του Κλικ:
κάντε κλικ στην εισαγωγή
Μόλις εισάγετε, δημιουργήστε ένα μέθοδος και ένα κύριος σημείο εισόδου. Μας Python OOP οδηγός τα καλύπτει με μεγαλύτερη λεπτομέρεια, αλλά παρέχουν ένα μέρος για την αποθήκευση του κώδικα σας και έναν τρόπο για να ξεκινήσει η λειτουργία της Python:
κάντε κλικ στην εισαγωγή. Εισαγωγή τυχαίου def veg (): Η βασική μέθοδος θα επιστρέψει τυχαία εκτύπωση λαχανικών (random.choice ('Carrot', 'Potato', 'Turnip', 'Parsnip'))) __name__ == '__main__': veg
Αυτό το πολύ απλό σενάριο θα εξάγει τυχαία λαχανικά. Ο κώδικας μπορεί να φαίνεται διαφορετικός, αλλά αυτό το απλό παράδειγμα είναι τέλειο για να συνδυαστεί με το κλικ.
Αποθηκεύστε αυτό ως click_example.py, και στη συνέχεια να το εκτελέσετε στη γραμμή εντολών (μετά την πλοήγηση στην τοποθεσία του):
python click_example.py
Θα πρέπει να δείτε ένα τυχαίο όνομα λαχανικών. Ας βελτιώσουμε τα πράγματα προσθέτοντας κλικ. Αλλάξτε τον κώδικα σας για να συμπεριλάβετε τους διακοσμητές Click και a Για βρόχος:
@ click.command () @ click.option ('- σύνολο', προεπιλογή = 3, help = 'Αριθμός λαχανικών που εξάγονται.') def (ολικής): Η βασική μέθοδος θα επιστρέψει τυχαίο λαχανικό για τον αριθμό στην περιοχή (σύνολο): print (random.choice ('Carrot', 'Potato', 'Turnip', 'Parsnip'))) __name__ == '__main__': veg ()
Κατά τη λειτουργία, θα δείτε ένα τυχαίο λαχανικό που εμφανίζεται τρεις φορές.
Ας καταρρίψουμε αυτές τις αλλαγές. ο @ click.command () διακοσμητής διαμορφώνει Κάντε κλικ για να εργαστείτε με τη λειτουργία αμέσως μετά τον διακοσμητή. Σε αυτή την περίπτωση, αυτό είναι το veg () λειτουργία. Θα χρειαστείτε αυτό για κάθε μέθοδο που θέλετε να χρησιμοποιήσετε με το κλικ.
ο @ click.option ο διακοσμητής ρυθμίζει το κλικ για να αποδεχθεί παραμέτρους από τη γραμμή εντολών, τις οποίες θα περάσει στη μέθοδο σας. Υπάρχουν τρία επιχειρήματα που χρησιμοποιούνται εδώ:
- -σύνολο: Αυτό είναι το όνομα γραμμής εντολών για το σύνολο διαφωνία.
- Προκαθορισμένο: Εάν δεν καθορίσετε το συνολικό όρισμα κατά τη χρήση της δέσμης ενεργειών σας, το κλικ θα χρησιμοποιήσει την τιμή από προεπιλογή.
- βοήθεια: Μια σύντομη πρόταση που εξηγεί πώς να χρησιμοποιήσετε το πρόγραμμά σας.
Ας δούμε το κλικ στην ενέργεια. Από τη γραμμή εντολών, εκτελέστε το σενάριό σας, αλλά μεταβείτε στο σύνολο επιχείρημα όπως αυτό:
python click_example.py - σύνολο 10
Με ρύθμιση -Σύνολο 10 από τη γραμμή εντολών, το σενάριό σας θα εκτυπώσει δέκα τυχαία λαχανικά.
Εάν περάσετε στο -βοήθεια σημαία, θα δείτε μια ωραία σελίδα βοήθειας, μαζί με τις επιλογές που μπορείτε να χρησιμοποιήσετε:
python click_example.py --help
Προσθήκη περισσότερων εντολών
Είναι δυνατόν να χρησιμοποιήσετε πολλούς διακοσμητές κλικ στην ίδια λειτουργία. Προσθέστε μια άλλη επιλογή κλικ στο veg λειτουργία:
@ click.option ('- σάλτσα', προεπιλογή = ψευδής, βοήθεια = 'Προσάρτηση' με σάλτσα 'στα λαχανικά.')
Μην ξεχάσετε να το περάσετε στη μέθοδο:
def veget (σύνολο, σάλτσα):
Τώρα όταν τρέχετε το αρχείο σας, μπορείτε να περάσετε στο σάλτσα σημαία:
python click_example.py -gravy y
Η οθόνη βοήθειας άλλαξε επίσης:
Εδώ είναι ο πλήρης κώδικας (με κάποια μικρή refactoring για την καθαρότητα):
κάντε κλικ στην εισαγωγή. εισαγωγή random @ click.command () @ click.option ('- σάλτσα', προεπιλογή = ψευδής, βοήθεια = 'Προσάρτηση' με σάλτσα 'στα λαχανικά.') @ click.option ('- σύνολο', προεπιλογή = 3, help = 'Αριθμός λαχανικών που εξάγονται.') def veg (σύνολο, σάλτσα): Η βασική μέθοδος θα επιστρέψει ένα τυχαίο λαχανικό για τον αριθμό στην περιοχή (σύνολο): choice = random.choice (['Καρότο', 'Πατάτα', 'Ρίππο', 'Parsnip')) εάν η σάλτσα: εκτύπωση (f '{επιλογή} με σάλτσα') else: print __name__ == '__main__': veg ()
Ακόμα περισσότερες επιλογές κλικ
Αφού γνωρίσετε τα βασικά, μπορείτε να αρχίσετε να εξετάζετε πιο σύνθετες επιλογές κλικ. Σε αυτό το παράδειγμα, θα μάθετε πώς να περάσετε σε διάφορες τιμές σε ένα μόνο επιχείρημα, το οποίο το Click θα μετατρέψει σε μια πλειάδα. Μπορείτε να μάθετε περισσότερα για τις πλειάδες στο δικό μας Οδηγός για το λεξικό της Python.
Δημιουργήστε ένα νέο αρχείο που ονομάζεται click_example_2.py. Εδώ είναι ο κωδικός εκκίνησης που χρειάζεστε:
κάντε κλικ στην εισαγωγή. εισαγωγή random @ click.command () def add (): Η βασική μέθοδος θα προσθέσει δύο αριθμούς μαζί. pass if __name__ == '__main__': add ()
Δεν υπάρχει τίποτα νέο εδώ. Η προηγούμενη ενότητα εξηγεί λεπτομερώς αυτόν τον κώδικα. Πρόσθεσε ένα @ click.option που ονομάζεται αριθμούς:
@ click.option ('- αριθμοί', nargs = 2, type = int, help = 'Προσθέστε δύο αριθμούς μαζί.')
Ο μόνος νέος κώδικας εδώ είναι ο nargs = 2, και το type = int επιλογές. Αυτό λέει κλικ για να αποδεχθεί δύο τιμές για το αριθμούς και ότι πρέπει και οι δύο να είναι τύπου ακεραίων. Μπορείτε να το αλλάξετε σε οποιοδήποτε αριθμό ή (έγκυρο) τύπο δεδομένων που θέλετε.
Τέλος, αλλάξτε το Προσθήκη μέθοδος αποδοχής του αριθμούς επιχείρημα και κάντε κάποια επεξεργασία μαζί τους:
def add (numbers): Η βασική μέθοδος θα προσθέσει δύο αριθμούς μαζί. αποτέλεσμα {αριθμοί [0] + αριθμοί [1] εκτύπωση (f '{αριθμοί [0]} + {αριθμοί [1]} = {αποτέλεσμα}
Κάθε τιμή που περνάτε είναι προσβάσιμη μέσω του αριθμούς αντικείμενο. Δείτε πώς να το χρησιμοποιήσετε στη γραμμή εντολών:
python click_example_2.py - αριθμοί 1 2
Κάντε κλικ στην επιλογή Λύση για βοηθητικά προγράμματα Python
Όπως έχετε δει, το Click είναι εύκολο στη χρήση αλλά πολύ ισχυρό. Ενώ αυτά τα παραδείγματα καλύπτουν μόνο τα βασικά στοιχεία του Click, υπάρχουν πολλά ακόμη χαρακτηριστικά γνωρίσματα που μπορείτε να μάθετε για τώρα που έχετε μια σταθερή αντίληψη των βασικών στοιχείων.
Αν ψάχνετε για κάποια προγράμματα Python για να εξασκήσετε τις νέες ικανότητες που έχετε βρει, γιατί να μην το μάθετε πώς να ελέγξετε ένα Arduino με την Python Πώς να προγραμματίσετε και να ελέγξετε ένα Arduino με την PythonΔυστυχώς, είναι αδύνατο να προγραμματίσετε απευθείας ένα Arduino στην Python, αλλά μπορείτε να το ελέγξετε μέσω USB χρησιμοποιώντας ένα πρόγραμμα Python. Δείτε πώς. Διαβάστε περισσότερα , ή τι γίνεται την ανάγνωση και τη γραφή στα Φύλλα Google με την Python Πώς να διαβάζετε και να γράφετε στα φύλλα του Google με την PythonΗ Python μπορεί να φαίνεται περίεργη και ασυνήθιστη, ωστόσο είναι εύκολη η εκμάθηση και η χρήση της. Σε αυτό το άρθρο, θα σας δείξω πώς να διαβάζετε και να γράφετε στα Φύλλα Google χρησιμοποιώντας τη Python. Διαβάστε περισσότερα ? Κάθε ένα από αυτά τα έργα θα ήταν τέλειο για τη μετατροπή στο Click!
Ο Τζο είναι πτυχιούχος της Πληροφορικής από το Πανεπιστήμιο του Λίνκολν, Ηνωμένο Βασίλειο. Είναι επαγγελματίας προγραμματιστής λογισμικού, και όταν δεν πετάει αεροσκάφη ή γράφει μουσική, συχνά μπορεί να βρει λήψη φωτογραφιών ή παραγωγή βίντεο.