Cmd Befehl bestätigen

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
Python 47
User
Beiträge: 574
Registriert: Samstag 17. September 2005, 21:04

Hallo Leute,

also ich kann ja folgendermaßen mit cmd arbeiten:

Code: Alles auswählen

import os
os.system(Mein Cmd Befehl)
Aber bei manchen Befehlen fragt mich Cmd ob ich das WIrklich machen muss und muss dann J/N eingeben, wie kann ich das mit Python machen?

Danke!
mfg

Thomas :-)
Benutzeravatar
Kolazomai
User
Beiträge: 33
Registriert: Donnerstag 16. Februar 2006, 15:05
Kontaktdaten:

Hi,

Code: Alles auswählen

import os
os.system(cmd | echo <antwort>)
Das mit echo is zwar komisch,sollte aber wirklich funktionieren.

Meistens gibts sogar ein Argument für bestimmte Befehle. Z.b. in batch "del".

Einfach mal suchen.
Python 47
User
Beiträge: 574
Registriert: Samstag 17. September 2005, 21:04

Danke für die Antwort

Aber warum funktioniert z.B. folgender Code nicht?

Code: Alles auswählen

import os
os.system(del test.txt, echo<J>)
mfg

Thomas :-)
modelnine
User
Beiträge: 670
Registriert: Sonntag 15. Januar 2006, 18:42
Wohnort: Celle
Kontaktdaten:

Warum nicht gleich:

Code: Alles auswählen

os.unlink()
benutzen? Wenn man auf eine Shell zurückgreift bedeutet das im Normalfall nicht das man die richtige Lösung für das Problem gefunden hat... Alles was in der Shell geht, geht auch mit Python direkt (außer man spricht eben keine Betriebssystem-Funktionen an, sondern ein Erweiterungsprogramm was man nicht nachbauen kann/will und was nicht in einer Form zur Verfügung steht die man direkt an Python anbinden könnte), und da man Python programmiert (und keinen Hybrid zwischen Shell und Python und was auch immer) sollte man auch zuschauen dass man es direkt macht...

Sonst, für die wenigen Fälle wo man wirklich drauf angewiesen ist ein externes Programm zu starten (weil Python irgendeine Sache eben nicht direkt kann/macht/was auch immer), benutzt man seit 2.4 subprocess. Siehe entsprechende Dokumentation und die Fülle von Beispielen hier im Forum zu subprocess.
--- Heiko.
Benutzeravatar
Kolazomai
User
Beiträge: 33
Registriert: Donnerstag 16. Februar 2006, 15:05
Kontaktdaten:

Python Master 47 hat geschrieben:Danke für die Antwort

Aber warum funktioniert z.B. folgender Code nicht?

Code: Alles auswählen

import os
os.system(del test.txt, echo<J>)
mit <antwort> hab ich nur Y oder N oder was er dich halt fragt gemeint ^^

also z.b.

Code: Alles auswählen

import os
os.system("del /s * | echo Y")
sollte gehen ; einfach mal rumprobieren im cmd ^^


Mfg,

Kolazomai
Python 47
User
Beiträge: 574
Registriert: Samstag 17. September 2005, 21:04

Perfekt, hat wunderbar geklappt, danke!

EDIT (Jens): Full-Quote gelöscht :evil:
mfg

Thomas :-)
Antworten