Guten Tag!
Ich möchte unter Linux mit Python ein Add-On für ein Programm schreiben.
Das Add-On soll unter anderem eine Terminalsession emulieren.
Beispiel: Ich möchte mit diesem Add-On folgende Befehle wie im Linux-Terminal ausführen:
cd /home/user/Desktop
rm test.txt
ls
Ob es unter anderen Systemen wie Linux funktioniert oder nicht, sei erstmal egal.
Ich hoffe mir kann hier jemand helfen.
Probiert habe ich es schon mit os.popen und dem subprocess, aber ich kann da immer nur ein Befehl ausführen. Dann wird dieser wieder praktisch vergessen. Ich komme also in dem oben genannten Beispiel nie auf den Desktop, um da was zu löschen und dann die Dateien auszugeben.
Mit freundlichen Grüßen,
ein verzweifelter Python-Anfänger
Terminal Session emulieren
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Für die von Dir genannten Aktionen hat Python Bordmittel; guck mal in das os-Modul. Z.B. os.listdirs() und os.remove(path).
Ansonsten: Poste doch mal deinen bisherigen Versuch! Ohne etwas Code können wir schlecht sagen, was Du falsch machst...
Das Boad hat code-Tags, die Du dann nutzen solltest. [ post=py ]...[/ code ] ohne die Leerzeichen.
Bei größeren Mengen (so ab >30-40 Zeilen) poste es bitte in ein paste-bin (z.B. paste.pocoo.org)
Ansonsten: Poste doch mal deinen bisherigen Versuch! Ohne etwas Code können wir schlecht sagen, was Du falsch machst...
Das Boad hat code-Tags, die Du dann nutzen solltest. [ post=py ]...[/ code ] ohne die Leerzeichen.
Bei größeren Mengen (so ab >30-40 Zeilen) poste es bitte in ein paste-bin (z.B. paste.pocoo.org)
-
- User
- Beiträge: 3
- Registriert: Sonntag 28. März 2010, 17:55
Das hier habe ich bisher:
In message befindet sich dann die Ausgabe des Programmes ./my_app. Statt my_app kann ich dann auch sowas wie "ls" eintippen (die Konsole praktisch)
Problem ist nun:
Wie kann ich nun davor wirklich auf den Desktop wechseln um das Programm auszuführen? Denn wenn ich cd damit ausführe und danach dann ls, bin ich immer noch im gleichen Verzeichnis.
Code: Alles auswählen
p = os.popen('cd /home/user/Desktop')
p = os.popen('./my_app')
s = p.read()
p.close()
message = s;
Problem ist nun:
Wie kann ich nun davor wirklich auf den Desktop wechseln um das Programm auszuführen? Denn wenn ich cd damit ausführe und danach dann ls, bin ich immer noch im gleichen Verzeichnis.
-
- User
- Beiträge: 3
- Registriert: Sonntag 28. März 2010, 17:55
Mit dem Add-On wollte ich ein Terminal emulieren. Das Add-On wurde für ein Chatprogramm geschrieben.
Deshalb bringen mir Hyperions Vorschläge eher wenig was in diesem Zusammenhang.
Aber trotzdem danke für eure Hilfe =)
Deshalb bringen mir Hyperions Vorschläge eher wenig was in diesem Zusammenhang.
Aber trotzdem danke für eure Hilfe =)