Colorama παρέχει ένα απλό cross-platform API για να εκτυπώσετε έγχρωμο τερματικό κείμενο από εφαρμογές Python.
ANSI ακολουθίες χαρακτήρων διαφυγής χρησιμοποιούνται συνήθως για την παραγωγή χρωματιστό ακροδέκτη κειμένου για Mac και Unix. Colorama παρέχει κάποιες συντομεύσεις για τη δημιουργία αυτών των αλληλουχιών, και τους κάνει να λειτουργούν στα Windows πάρα πολύ.
Αυτό έχει ως ευτυχής παρενέργεια που υπάρχουσες εφαρμογές ή βιβλιοθήκες που χρησιμοποιούν ήδη ANSI ακολουθίες για την παραγωγή χρωματισμένης εξόδου στο Linux ή Mac (π.χ.., Χρησιμοποιώντας τα πακέτα όπως «termcolor») μπορούν πλέον να λειτουργήσει σε Windows, απλά με την εισαγωγή και την ανάληψη πρωτοβουλίας για Colorama.
Κατάσταση
Στην ανάπτυξη. Ορισμένες λειτουργίες, όπως αναφέρεται παρακάτω, δεν έχουν υλοποιηθεί ακόμη.
Χρήση
Αρχικοποίηση
Οι αιτήσεις θα πρέπει να προετοιμάσετε Colorama χρήση:
από Colorama init εισαγωγής
μέσα σε αυτό ()
Αν είστε σε Windows, το κάλεσμα για '' init () '' θα ξεκινήσει το φιλτράρισμα ακολουθίες ANSI ξεφύγει από κάθε κειμένου που αποστέλλονται στο stdout ή stderr, και θα τα αντικαταστήσει με ισοδύναμα του Win32.
Κλήση '' init () '' δεν έχει καμία επίδραση σε άλλες πλατφόρμες (εκτός αν χρησιμοποιείτε «αυτόματη επαναφορά», βλέπε παρακάτω) Η πρόθεση είναι ότι όλες οι εφαρμογές θα πρέπει να init (κλήση) άνευ όρων, τότε έγχρωμο κείμενο εξόδου τους λειτουργεί απλώς σε όλες τις πλατφόρμες.
Χρωματιστά Έξοδος
Cross-platform εκτύπωση έγχρωμου κειμένου μπορεί στη συνέχεια να γίνει:
από Colorama Fore εισαγωγής, Πίσω, Στυλ
Εκτύπωση Fore.RED + »μερικά κόκκινα γράμματα"
Back.GREEN εκτύπωσης + και με πράσινο φόντο »
Εκτύπωση Style.DIM + »και σε αμυδρό κείμενο"
Εκτύπωση + Fore.DEFAULT + Back.DEFAULT + Style.DEFAULT
Εκτύπωση «Επιστροφή σε κανονική τώρα»
ή απλά με χειροκίνητη εκτύπωση ANSI ακολουθίες από τον δικό σας κώδικα:
print '/ 033 [31εκ «+» μερικά κόκκινα γράμματα »
print '/ 033 [30m »# και επαναφορά σε προεπιλεγμένο χρώμα
ή Colorama μπορεί να χρησιμοποιηθεί ευτυχώς σε συνδυασμό με τις υπάρχουσες βιβλιοθήκες ANSI όπως Termcolor (http://pypi.python.org/pypi/termcolor):
# Χρησιμοποιήσετε Colorama να κάνει Termcolor εργασίας στα Windows πάρα πολύ
από Colorama init εισαγωγής
μέσα σε αυτό ()
# Στη συνέχεια χρησιμοποιήστε Termcolor για όλα τα χρωματιστά εξόδου κειμένου
από termcolor εισαγωγή έγχρωμων
Εκτύπωση έγχρωμου ("Hello, World!», «πράσινα», «on_red»)
Διαθέσιμο μορφοποίησης σταθερές είναι:
Fore: μαύρο, κόκκινο, πράσινο, κίτρινο, μπλε, ματζέντα, κυανό, λευκό, ΠΡΟΕΠΙΛΟΓΗ.
Επιστροφή: μαύρο, κόκκινο, πράσινο, κίτρινο, μπλε, ματζέντα, κυανό, λευκό, ΠΡΟΕΠΙΛΟΓΗ.
Στυλ: ΔΗΜ, NORMAL, BRIGHT, RESET_ALL
Style.RESET_ALL επαναφέρει στο προσκήνιο, παρασκήνιο και φωτεινότητα. Colorama θα εκτελέσει αυτή τη λειτουργία αυτόματα κατά την έξοδο του προγράμματος (δεν έχει εφαρμοστεί).
Autoreset
Δεν έχει υλοποιηθεί
Αν βρείτε τον εαυτό σας κατ 'επανάληψη αποστολή επαναφορά ακολουθίες για να απενεργοποιήσετε τις αλλαγές χρώματος στο τέλος της κάθε εκτύπωσης, τότε η init (αυτόματη επαναφορά = True) θα αυτοματοποιήσει ότι:
από Colorama init εισαγωγής
init (αυτόματη επαναφορά = True)
Εκτύπωση Fore.RED + »μερικά κόκκινα γράμματα"
εκτύπωσης »αυτόματα πίσω στο προεπιλεγμένο χρώμα και πάλι»
Χωρίς περιτύλιγμα stdout
Colorama λειτουργεί από την πρώτη συσκευασία stdout και stderr με proxy αντικείμενα, τα οποία υπερισχύουν write () για να κάνουν τη δουλειά τους. Χρησιμοποιώντας init (αυτόματη επαναφορά = True) θα κάνει αυτό το περιτύλιγμα σε όλες τις πλατφόρμες, και όχι μόνο τα Windows.
Εάν αυτά τα αντικείμενα μεσολάβησης περιτυλίγματος stdout και stderr σας προκαλέσει προβλήματα, τότε αυτό μπορεί να απενεργοποιηθεί χρησιμοποιώντας init (wrap = False) (Δεν έχει εφαρμοστεί), και αντ 'αυτού να έχουν άμεση πρόσβαση AnsiToWin32 μεσολάβησης Colorama του. Κάθε πρόσβαση χαρακτηριστικό σε αυτό το αντικείμενο θα διαβιβαστεί στο ρεύμα τυλίγει, εκτός από .write (), η οποία για τα Windows είναι παρακαμφθεί να εκτελέσετε για πρώτη φορά το ANSI σε Win32 μετατροπή σε κείμενο:
από Colorama init εισαγωγής, AnsiToWin32
init (wrap = False)
ροή = AnsiToWin32 (sys.stderr)
Εκτύπωση >> ρεύμα, «μπλε κείμενο για το stderr" Fore.BLUE +
Ανάπτυξη
Δοκιμές απαιτούν Mock ενότητα Michael Foord του. Έχω χρησιμοποιήσει nosetests να τρέξει τις δοκιμές αν μπορεί να λειτουργήσει χωρίς αυτήν, με τη χρήση:
colorama.tests python -m
Τι είναι καινούργιο σε αυτή την έκδοση:.
- Προστέθηκε κάποια τεκμηρίωση για το δείκτη θέσης και καθαρή οθόνη για να README. Προσθέστε «reinit» και «deinit» λειτουργίες, όπως προτείνεται από τον Charles FOL και Romanov DA.
Τι είναι καινούργιο στην έκδοση 0.1.18:
- Fix README (καμία τέτοια attr όπως Fore.DEFAULT κλπ), ανέφερε ευγενικά από nodakai.
Τι είναι καινούργιο στην έκδοση 0.1.17:
- Αποτρέψτε την εκτύπωση των κωδικών απορριμμάτων ANSI μετά την εγκατάσταση με pip
Τι είναι καινούργιο στην έκδοση 0.1.16:
- Re-μεταφόρτωσης για να διορθώσετε το προηγούμενο σφάλμα. Κάντε καθαρά τώρα αφαιρεί παλιά MANIFEST.
Τι είναι καινούργιο στην έκδοση 0.1.15:
- Fix python3 ασυμβατότητα καλοσύνη αναφέρθηκε από Gunter Koloušek
Τι είναι καινούργιο στην έκδοση 0.1.14:
- Fix σκληρό-κωδικοποιημένες επαναφορά σε λευκό-on- μαύρα χρώματα. Fore.RESET, Back.RESET και Style.RESET_ALL τώρα επανέλθει στα χρώματα όπως ήταν όταν init () ονομαζόταν. Κάποια από τα μαθήματα ελπίζουμε ότι έμαθε για τον έλεγχο πριν από την απελευθέρωση.
Τι είναι καινούργιο στην έκδοση 0.1.13:
- Προηγούμενη έκδοση ήταν εντελώς σπασμένα (δεν περιείχε καμία πηγή) . Διπλό ουπς.
Τι είναι καινούργιο στην έκδοση 0.1.10:
- Διακοπή της υιοθέτησης των «φωτεινό» κειμένου με φωτεινό φόντο. Οθόνη «κανονική» κείμενο χρησιμοποιώντας τα Win32 κανονική προσκήνιο αντί φωτεινό. Drop υποστήριξη για «dim» κείμενο.
Τι είναι καινούργιο στην έκδοση 0.1.9:
- Διορθώστε την ασυμβατότητα με την Python 2.5 και νωρίτερα Κατάργηση εγκατάστασης. εξάρτηση py για setuptools, τώρα χρησιμοποιεί stdlib distutils
Απαιτήσεις :
- Python
Τα σχόλια δεν βρέθηκε