Ich führe einen Bash-Befehl (der eine Datei herunterlädt) in einem Python-Skript.Async Python Funktionsaufruf auf eine Bash-Ausführung (über Python Popen)
def execBashCmd(bash_cmd):
process = Popen([bash_cmd], stdout=PIPE, stderr=PIPE, shell=True)
Die bash Befehl gibt eine Progression (aktualisiert) in stdout wie folgt:
Downloading File - 20.66 MiB/165.31 MiB
Ich möchte die Progression zu aktualisieren, um der Lage sein, eine Python-Funktion in einem regelmäßigen Intervall zu nennen (die ich würde mit einer Regex oder so etwas fangen) irgendwo in meinem Python-Code.
cmd = "gsutil cp -n ...." # A Bash command downloading a file and displaying a status in stdout while busy.
code = utils.execBashCmd(cmd)
self.setProgress(BASH_CURRENT_PROGRESS) # This line should be asynchrone and called upon the bash command lifetime
Gibt es einen Weg, dies zu erreichen?
Diese Frage ist neu und scheint ähnlich wie Ihre eigene Frage: http://stackoverflow.com/questions/37925840/python-monitoring-progress-of-handbrake - es gibt einen grundlegenden Mechanismus ist es, dass könnte oder auch nicht arbeite in deinem Fall. – advance512