Auf Windows kommando zeile zugreifen
Auf Windows kommando zeile zugreifen
Liebe Leute vom Python-Forum,
ich entschuldige mich im voraus, wenn meine Frage richtig "blöd" sein sollte, ich habe aber leider meistens etwas hilfe nötig.
Meine Frage wäre da :kann man mit einem python befehl einen befehl an die Windows-Komanndizeile geben? Und wenn ja bitte kurz sagen wie...
Ich bedanke mich im Voraus schon sehr herzlich bei denen die Antworten
Viele Liebe Grüße
Dango
ich entschuldige mich im voraus, wenn meine Frage richtig "blöd" sein sollte, ich habe aber leider meistens etwas hilfe nötig.
Meine Frage wäre da :kann man mit einem python befehl einen befehl an die Windows-Komanndizeile geben? Und wenn ja bitte kurz sagen wie...
Ich bedanke mich im Voraus schon sehr herzlich bei denen die Antworten
Viele Liebe Grüße
Dango
ACHTUNG ANFÄNGER!! Ich entschuldige mich im Voraus für dumme Fragen 

- roschi
- User
- Beiträge: 225
- Registriert: Samstag 29. März 2008, 18:58
- Wohnort: Thueringen, Deutschland
- Kontaktdaten:
hallo Dango!
schau dir mal das modul ``subprocess`` an.
lg
roschi
PS: sowas wurde hier im forum schon oft gefragt -> http://www.python-forum.de/topic-13124.html
schau dir mal das modul ``subprocess`` an.
lg
roschi
PS: sowas wurde hier im forum schon oft gefragt -> http://www.python-forum.de/topic-13124.html
Fuer Alle, die in Python einsteigen wollen, kann ich das Buch A Byte of Python nur waermstens empfehlen!
Vielen Dank für die schnelle und nette Antwort!
Welche funktion ist den nun die, wo man dann den Befehl für die Komanndozeile eingibt? Das wäre dann meine letzte Frage.
Ich bedanke mich im voraus für eine ebenso schnelle Antwort wie auf die Erste.
mit vielen Grüßen
Dango
Welche funktion ist den nun die, wo man dann den Befehl für die Komanndozeile eingibt? Das wäre dann meine letzte Frage.
Ich bedanke mich im voraus für eine ebenso schnelle Antwort wie auf die Erste.
mit vielen Grüßen
Dango
ACHTUNG ANFÄNGER!! Ich entschuldige mich im Voraus für dumme Fragen 

- roschi
- User
- Beiträge: 225
- Registriert: Samstag 29. März 2008, 18:58
- Wohnort: Thueringen, Deutschland
- Kontaktdaten:
[wiki]Neue Features#Subprocess[/wiki]
ich habe nicht umsonst auf den thread verwiesen...
ich habe nicht umsonst auf den thread verwiesen...
Fuer Alle, die in Python einsteigen wollen, kann ich das Buch A Byte of Python nur waermstens empfehlen!
Oh, tut mir leid. Das hatte ich jetzt nicht ganz beachtet. Aber ich bin noch ein blutiger Anfänger: gibt es vielleicht jemand der mir erklären könnte wie man jetzt z.B. der Windows Kommandozeile den Befehl "cd C://" und dann z.B. "run example.exe" gitbt?
Ich bedanke mich im voraus für eine nette,knappe und Idiotenfeste Erklärung. Vielen Dank
Mit vielen Grüßen
Dango
Ich bedanke mich im voraus für eine nette,knappe und Idiotenfeste Erklärung. Vielen Dank
Mit vielen Grüßen
Dango
ACHTUNG ANFÄNGER!! Ich entschuldige mich im Voraus für dumme Fragen 

Und warum machst du das nicht per Python?
Code: Alles auswählen
import os
import subprocess
os.chdir("C:")
subprocess.call("example.exe")
Ah gut zu wissen
Hatte noch nicht die Gelegenheit `subprocess' zu benutzen.

Code: Alles auswählen
import subprocess
subprocess.call("example.exe", cwd="C:")
Vielen Vielen Dank an Alle die mir so schnell geholfen haben.
Nach etwas rumprobieren fand ich heraus das ich eher die version mit os.chdir bevorzuge, denn i-wie will mein Python nicht ganz recht wenn ich ihm dur "cwd=" den pfad vorlege. Da meckert es dann immer rum das entweder der pfad ungültig ist, die datei fehlt u.s.w aber wenn ich es mit dem os modul mache dann ist alles im Lot.
nun ich bedanke mich bei dern Herren vielmals für die schnelle Hilfe
mit vielen Grüßen
Dango
Nach etwas rumprobieren fand ich heraus das ich eher die version mit os.chdir bevorzuge, denn i-wie will mein Python nicht ganz recht wenn ich ihm dur "cwd=" den pfad vorlege. Da meckert es dann immer rum das entweder der pfad ungültig ist, die datei fehlt u.s.w aber wenn ich es mit dem os modul mache dann ist alles im Lot.
nun ich bedanke mich bei dern Herren vielmals für die schnelle Hilfe
mit vielen Grüßen
Dango
ACHTUNG ANFÄNGER!! Ich entschuldige mich im Voraus für dumme Fragen 

Dango hat geschrieben:Nach etwas rumprobieren fand ich heraus das ich eher die version mit os.chdir bevorzuge, denn i-wie will mein Python nicht ganz recht wenn ich ihm dur "cwd=" den pfad vorlege. Da meckert es dann immer rum das entweder der pfad ungültig ist, die datei fehlt u.s.w
Zeig doch bitte mal den Code, denn die ``os.chdir()``-Lösung ist eine schlechte Idee die dir möglicherweise an anderer Stelle Probleme bereiten wird.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Also die nun zum erfolg geführt hat war folgende:
Code: Alles auswählen
import os
import subprocess
os.chdir("c:/Programme/distyingyang02")
subprocess.call("yingyang02.exe")
ACHTUNG ANFÄNGER!! Ich entschuldige mich im Voraus für dumme Fragen 

Dann musst du bei cwd= auch c:/Programme/distyingyang02angeben und nicht C:.
Code: Alles auswählen
import subprocess
subprocess.call("example.exe", cwd="c:/Programme/distyingyang02")
Dann kommt immmer folgendes:
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
subprocess.call("yingyang02.exe", cwd="C:/Programme/distyingyang02")
File "C:\Python25\lib\subprocess.py", line 443, in call
return Popen(*popenargs, **kwargs).wait()
File "C:\Python25\lib\subprocess.py", line 593, in __init__
errread, errwrite)
File "C:\Python25\lib\subprocess.py", line 793, in _execute_child
startupinfo)
WindowsError: [Error 2] Das System kann die angegebene Datei nicht finden
oder geht das einfach net unter python 2.5?
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
subprocess.call("yingyang02.exe", cwd="C:/Programme/distyingyang02")
File "C:\Python25\lib\subprocess.py", line 443, in call
return Popen(*popenargs, **kwargs).wait()
File "C:\Python25\lib\subprocess.py", line 593, in __init__
errread, errwrite)
File "C:\Python25\lib\subprocess.py", line 793, in _execute_child
startupinfo)
WindowsError: [Error 2] Das System kann die angegebene Datei nicht finden

oder geht das einfach net unter python 2.5?
ACHTUNG ANFÄNGER!! Ich entschuldige mich im Voraus für dumme Fragen 

Müsste so gehen:
Kann man auch ganz einfach erklären, warum das so ist. Und zwar wird im %PATH% unter Windows immer der aktulle Pfad geprüft um das Programm zu finden. Wenn man den Pfad ändert, dann sucht er logischerweise im neuen Ordner. Wenn man aber ``cwd`` setzt wird der ``%PATH%`` des Python-Interpreters nicht geändert sondern nur der des aufzurufenden Programms. Dieses kann aber nicht gestartet werden, da es nicht im ``%PATH%`` vorhanden ist. Also muss man den vollständigen Pfad angeben. Müsste so stimmen, habe kein Windows um das zu testen.
Code: Alles auswählen
import subprocess
subprocess.call([r'c:\Programme\distyingyang02\example.exe'], cwd=r"c:\Programme\distyingyang02")
Kann man auch ganz einfach erklären, warum das so ist. Und zwar wird im %PATH% unter Windows immer der aktulle Pfad geprüft um das Programm zu finden. Wenn man den Pfad ändert, dann sucht er logischerweise im neuen Ordner. Wenn man aber ``cwd`` setzt wird der ``%PATH%`` des Python-Interpreters nicht geändert sondern nur der des aufzurufenden Programms. Dieses kann aber nicht gestartet werden, da es nicht im ``%PATH%`` vorhanden ist. Also muss man den vollständigen Pfad angeben. Müsste so stimmen, habe kein Windows um das zu testen.
Zuletzt geändert von Leonidas am Sonntag 14. Dezember 2008, 17:54, insgesamt 2-mal geändert.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder