also als erstes, ich habe jetzt 3 Tage gesucht und getestet aber nicht hat mich weitergebracht. Deshalb jetzt hier mein Problem.
Ich möchte ein Programm erstellen,das unter Windows eine Image Datei auf eine CF Disk kopieren. Dafür gibt es "dd" für Windows, welches ein Konsole Programm ist und über Parameter gesteuert wird. Dieses will ich über eine grafische Oberfläche fernbedienen. Dieses "dd" hat ein Parameter "--progress" was auf die stdout den Fortschritt ausgibt. Diese Fortschrittausgabe will ich auswerten. Aber alles was ich auch probiert habe, immer blockiert das Programm die Ausgabe. D.h. ich kann den Output von stdout nicht lesen. Hier ein kleines Testskript:
Code: Alles auswählen
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import sys
from subprocess import Popen, PIPE, STDOUT
cmd = 'c:/Programme/dd/dd.exe if=c:/tmp/python/Test_Image of=\\\\?\\Device\\Harddisk1\\Partition0 bs=1M count=512 --progress'
process = Popen(cmd, stdout=PIPE, stderr=STDOUT)
for line in process.stdout:
process.stdout.flush()
print line
Mit freundlichen Grüßen
Michael Klank