das ist meine aufgabe :/
die geschriebende und gespeicherte .py datei jetzt über das hauptfentser python shell auszuführen
Anfänger Problem
-
- User
- Beiträge: 16
- Registriert: Donnerstag 7. März 2013, 11:03
- Wohnort: Essen
Jeder ist seines glückes Schmied
Dann würde ich ein import durchführen und anschließend ggf. benötigte Funktionen aufrufen. Alternativ könntest du auch subprocess verwenden.Nicoqoeslove hat geschrieben:die geschriebende und gespeicherte .py datei jetzt über das hauptfentser python shell auszuführen
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.
-
- 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.
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")
Code: Alles auswählen
#!/user/bin/phyton
import os;
os.system('"%windir%\system32\calc.exe"');
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.
Grund: Quelltext in Python-Code-Tags gesetzt.
Jeder ist seines glückes Schmied
@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.
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.
-
- 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
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
@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.
-
- 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.
Dann werde ich mich lieber weiter daran versuchen, Variablen zu vergleichen.
Jeder ist seines glückes Schmied