2017-03-16 20 views
0

Goos Abend alle. Ich habe ein Skript, das ich von einer Eingabeaufforderung ausführen. Es ist ein OCR-Skript, das ungefähr 20 Sekunden dauert, um eine Antwort auszuführen.Wie füge ich einen Fortschrittsbalken in meine Python-Funktion?

Ich mag würde einen Fortschrittsbalken, um Benutzer zu zeigen, dass die Behandlung im Gang ist ...

Ich habe keine Ahnung, wie das zu tun. Alle Fortschrittsbalken, die ich bisher gefunden habe, basieren auf dem Abschluss der Zeit, nicht auf dem Abschluss der Aufgabe/Behandlung.

Hier ist mein Code:

from PIL import Image 

import pytesseract 
import re 
import time 


def extract_quantity_and_cip13_from_image(filename): 
    ocr = pytesseract.image_to_string(Image.open(filename)) 
    filtre = re.compile(r'G ([0-9]+).*([0-9]{13})') 
    resultat = filtre.findall(ocr) 
    return resultat 


if __name__ == '__main__': 
    print 'Activation du script pour OCR de facture OCP' 
    print 'Entrez la localisation du fichier source' 
    fichiersource = raw_input() 
    print 'Lancement OCR et Filtrage pour affichage des quantités et codes CIP13' 
    resultat = extract_quantity_and_cip13_from_image(fichiersource) 
    print 'Voici les quantités et codes CIP13 identifiés dans le fichier source :' 
    print resultat 

Jede Hilfe willkommen!

+1

wie würde yo Messen Sie den Fortschritt? –

+0

dann ist ein Aktivitätsindikator in Ordnung, nur um Benutzern zu zeigen, dass das Skript nicht tot ist ... – JnebJneb

+0

'print 'das Skript läuft ...'' –

Antwort

0

Try progressbar, die einen anderen Wert jedes Mal seine Update-Methode aufgerufen wird zurückkehren:

Hier ist ein Beispiel:

import progressbar 
import time 
bar = progressbar.ProgressBar(maxval=20, widgets=[progressbar.Bar('=', '[', ']'), ' ', progressbar.Percentage()]) 
bar.start() 
for i in range(10): 
    bar.update(i+1) 
    time.sleep(1) 
bar.finish() 

Ausgang:

(venv) ➜ python test.py 
[=======================         ] 40% 
0

können Sie auch Verwenden Sie Tkinter progressbar

+1

Das fühlt sich mehr wie ein Kommentar als eine vollständige Antwort an. Geben Sie zumindest einen Arbeitscode und eine Erklärung dazu, was der Code tut. Link Dumping für eine Antwort scheint eher geringe Mühe und kaum eine vollständige Antwort. – MooingRawr

Verwandte Themen