popen4 und fdisk

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Samstag 30. Juli 2005, 00:29

Ich habe mir jetzt etwas vorgenommen. Ich habe mir hierein Shellscript gebastelt, dass eine Umpartitionierung am iPod durchführt.
Herzstück ist das hier:

Code: Alles auswählen

#Jetzt leeren wir die Partition
#Und erzeugen ein neues Partitionslayout
dd if=/dev/zero of=/dev/$IPOD_PATH bs=1M count=10
 
#Jetzt müssen wir fdisk steuern
#Diese Befehle werden einfach nach der Reihe abgegrast
#Entnommen von
#  http://www.gnu.org/software/gnupod/gnupod.html#SEC6
 
echo "n
p
1
1
+$FIRMWARE_SIZE
n
p
2
 
 
t
1
 
t
2
b
w
q" | fdisk /dev/$IPOD_PATH
 
#Firmware zurückspielen
echo "Die Firmware wird zurückgespielt..."
dd if=firmware.backup of=/dev/${IPOD_PATH}1
echo "Firmware wurde erfolgreich hochgeladen!"
echo ""
Nur würde ich jetzt gerne diese ganzen Skripte in einer gtk Anwendung zusammenfassen.
Da ich das jetzt in python lösen möchte stehe ich aber vor einem Problem.
Ich habe keine Ahnung, wie ich fdisk von einem Python programm aus steuern kann.
Alle meine Bemühungen mit popen4 sind kläglich gescheitert, weil ich nur lesen konnte, und dem ding keine Daten übermitteln.
Hat da jemand eine Idee?
TUFKAB – the user formerly known as blackbird
BlackJack

Samstag 30. Juli 2005, 21:41

Vorweg: In aktuellen Python Versionen gibt's das Modul `subprocess`, das die Funktionen von den ganzen `popen()`s einheitlicher und plattformunabhängiger bereitstellen soll.

Was hast Du denn probiert? Hast Du den Abschnitt 6.9.2 Flow Control Issues in der Doku gelesen?
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Sonntag 31. Juli 2005, 12:30

Es gibt ja auch noch PExpect was ja genau für solche Aufgaben gedacht ist.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Antworten