Anfänger Problem

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.
Nicoqoeslove
User
Beiträge: 16
Registriert: Donnerstag 7. März 2013, 11:03
Wohnort: Essen

das ist meine aufgabe :/
die geschriebende und gespeicherte .py datei jetzt über das hauptfentser python shell auszuführen
Jeder ist seines glückes Schmied
Benutzeravatar
/me
User
Beiträge: 3554
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Nicoqoeslove hat geschrieben:die geschriebende und gespeicherte .py datei jetzt über das hauptfentser python shell auszuführen
Dann würde ich ein import durchführen und anschließend ggf. benötigte Funktionen aufrufen. Alternativ könntest du auch subprocess verwenden.

Was ist denn jetzt die genaue Aufgabe? So eine Aufgabe fällt doch nicht plötzlich vom Himmel sondern ist in irgendeinen Kontext eingebunden. Ohne diesen kann man keine wirklich sinnvolle Vorgehensweise empfehlen.
Nicoqoeslove
User
Beiträge: 16
Registriert: Donnerstag 7. März 2013, 11:03
Wohnort: Essen

zuerst hatte ich die aufgabe über *new window*(IDLE) ein befehl zu verfassen der den taschen rechner beim ausführen öffnet. durch gesuche habe ich es schließlich gefunden und musste es nur leich abändern.

Code: Alles auswählen

#!/user/bin/phyton

import os;
os.system('"%windir%\system32\calc.exe"');
nun habe ich die aufgabe bekommen diesen gespeicherten befehl (rechner.py) über die phyton shell durch einen einzigen befehl aufzurufen, sodass er es mir über den speicher öffnet.

z.b: öffne datei("rechner.py")
Zuletzt geändert von Anonymous am Freitag 8. März 2013, 08:16, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Code-Tags gesetzt.
Jeder ist seines glückes Schmied
BlackJack

@Nicoqoeslove: Man verfasst in Python keine Befehle sondern höchstens Funktionen und das was Du da geschrieben hast ist ein Modul. Ich vermute aber mal ganz stark, dass Du eine Funktion in einem Modul schreiben solltest, denn nur dann kann man das auch sinnvoll weiterverwenden.

Anweisungen oder Befehle sind Schlüsselworte wie ``print`` (in Python 2.x) oder ``for`` und die werden von der Sprache Python vorgegeben und können nicht selber geschrieben werden. Jedenfalls nicht ohne die Sprache selbst zu verändern. Den Quelltext dafür gibt es ja. :-)

Die Semikolons an den Zeilenenden gehören da nicht hin. Da verwechselst Du Python anscheinend mit einer anderen Programmiersprache.

Die erste Zeile enthält zwei Fehler in den Pfadkomponenten. Allerdings ist diese Zeile unter Windows sowieso nicht von Bedeutung und solange das Programm sowieso nur unter Windows läuft, kannst Du sie auch weg lassen. (Wo wir gerade bei Schreibfehlern sind, möchtest Du vielleicht noch mal über die Signatur unter Deinen Beiträgen schauen.)

`os.system()` sollte man nicht verwenden. Die verschiedenen Möglichkeiten externe Programme zu starten, wurden durch das `subprocess`-Modul abgelöst. Ich bin mir auch fast sicher, dass man den Pfad zu den Systemprogrammen nicht angeben muss, weil deren Verzeichnis(se) in der PATH-Umgebungsvariable enthalten sein müsste. Falls man den Pfad doch benötigt, ist es sicherer wenn man das nicht über eine externe Shell erledigt, sondern sich den Pfad in Python zusammen baut. Über das `os`-Modul kann man auf Umgebungsvariablen zugreifen und mit `os.path.join()` Pfadkomponenten zusammenbauen.
Nicoqoeslove
User
Beiträge: 16
Registriert: Donnerstag 7. März 2013, 11:03
Wohnort: Essen

Beim Ausführern der Skript-Datei(zahl.py) wird mir folgender Fehler ausgeben.

Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
zahl.py
NameError: name 'zahl' is not defined
Jeder ist seines glückes Schmied
BlackJack

@Nicoqoeslove: Das hatten wir doch schon mal: Man startet Skripte nicht innerhalb einer Python-Shell, sondern von einer Kommandoshell des Betriebssystems. Wenn Du in einer Python-Shell zahl.py eingibst, dann bedeutet das „greife auf das `py`-Attribut eines Objektes zu, das an den Namen `zahl` gebunden ist”. Nur das normalerweise kein Objekt an diesen Namen gebunden ist → also genau der Fehler den Du bekommst.
Nicoqoeslove
User
Beiträge: 16
Registriert: Donnerstag 7. März 2013, 11:03
Wohnort: Essen

Diesmal habe ich es aber verstanden :)
Dann werde ich mich lieber weiter daran versuchen, Variablen zu vergleichen.
Jeder ist seines glückes Schmied
Antworten