Python Programm startet und schliesst sofort

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
Qoo4real
User
Beiträge: 7
Registriert: Sonntag 17. Januar 2010, 16:02

hallo, ich habe ein python programm und seit ich windows 7 habe läuft es net mehr. Also wenn ich auf die datei blabla.py doppelklick mache öffnet sich die konsole und schliesst sofort wieder, weiss jemand woran es liegt oder muss ich etwas bei python beachten da ich jetzt windows 7 benutze ??
achso und früher hatte ich vista und da lief das python programm einwandfrei.
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

öffne mal die Datei mit cmd (Start -> Ausführen -> cmd -> cd (zum Verzeichnis) -> xyz.py)
Und poste pls den Traceback

Verwendest du jetzt Python 3.X statt Python 2.X?
the more they change the more they stay the same
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Alternativ: <Alt> + <Rechtsklick> im Verzeichnis und dann Eingabeaufforderung auswählen.
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Qoo4real
User
Beiträge: 7
Registriert: Sonntag 17. Januar 2010, 16:02

also irgendwie ergibt die fehlermeldung keinen sinn . syntax error: invalid syntax

er sagt mir auch in welcher line das sein soll, nur habe ich nie was am programm verändert seit ich mein system umgestellt habe .

und ich benutze version 3.1 und habe diese auch davor benutzt
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Zeig einfach mal die komplette Fehlermeldung.
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Qoo4real
User
Beiträge: 7
Registriert: Sonntag 17. Januar 2010, 16:02

Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.

C:\Users\Wadim>cd C:\Users\Wadim\Desktop\Uni 09-10\PRG 01\Blatt 1 bis 5\Blatt 3

C:\Users\Wadim\Desktop\Uni 09-10\PRG 01\Blatt 1 bis 5\Blatt 3>Spielmechanik.py
File "C:\Users\Wadim\Desktop\Uni 09-10\PRG 01\Blatt 1 bis 5\Blatt 3\Spielmecha
nik.py", line 38
print "Keinen Int übergeben"
^
SyntaxError: invalid syntax

C:\Users\Wadim\Desktop\Uni 09-10\PRG 01\Blatt 1 bis 5\Blatt 3>
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Wenn das vorher funktionierte, hast du vorher kein Python 3 benutzt, denn nur in pre-Python 3 ist das die korrekte Syntax.
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Sicher, dass auf deinem alten System Python 3.1 drauf war?

Ich denke eher es war eine aus der 2er Serie. print ist ab 3 eine Funktion und daher muss es `print("Keinen Int übergeben")` heißen.
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Qoo4real
User
Beiträge: 7
Registriert: Sonntag 17. Januar 2010, 16:02

so hey ich habe jetzt auch mal alle anderen programme die ich so habe getestet und die laufen alle nicht... es ist das gleiche problem console geht auf und schliesst sofort wieder man sieht es fast kaum so schnell schliesst das... und wenn ich die über dir eingabeaufforderung ansprechen will dann heisst auch wieder syntax error in irgendeiner zeile.... also scheint ein allgemines problem zu sein nicht nur mit dem einen programm
Qoo4real
User
Beiträge: 7
Registriert: Sonntag 17. Januar 2010, 16:02

ok ich ändere mal alle print befehle um und guck obs dann geht danke schon mal für eure hilfe
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Nein, das solltest du nicht machen. Zwischen Python 2 und Python 3 liegen noch mehr Unterschiede. Warum willst du Python 3 benutzen, wenn es doch ganz klar vorher mit Python 2 funktionierte?
Qoo4real
User
Beiträge: 7
Registriert: Sonntag 17. Januar 2010, 16:02

oh nein zu spät hab alle prints geändert aber es muss in 3.1 gewesen sein weil nur manche print befehle wwaren so --> print "hdhdh" der rest war mit klammern versehen

und das ist danach der fehler wenn die prints alle korrigiert wurden

C:\Users\Wadim\Desktop\Uni 09-10\PRG 01\Blatt 1 bis 5\Blatt 3>Spielmechanik.py
Einführung:

- Um das Spiel jederzeit zu verlassen, drücken Sie 'Strg + C'

- O fängt immer an

- Gewinnregel:
(X oder O) 4 mal in eine Diagonale, Horizontale oder Vertikale legen


Setzen Sie das Spielfeld

Traceback (most recent call last):
File "C:\Users\Wadim\Desktop\Uni 09-10\PRG 01\Blatt 1 bis 5\Blatt 3\Spielmecha
nik.py", line 450, in <module>
run()
File "C:\Users\Wadim\Desktop\Uni 09-10\PRG 01\Blatt 1 bis 5\Blatt 3\Spielmecha
nik.py", line 400, in run
matrix = setField()
File "C:\Users\Wadim\Desktop\Uni 09-10\PRG 01\Blatt 1 bis 5\Blatt 3\Spielmecha
nik.py", line 32, in setField
zeile = int(raw_input("Zeilen: ")) # Benutzereingabe
NameError: global name 'raw_input' is not defined

C:\Users\Wadim\Desktop\Uni 09-10\PRG 01\Blatt 1 bis 5\Blatt 3>
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Das ist noch einer der Unterschiede zwischen Python 2 und Python 3.

Um das mal klarzustellen: `print()` war auch in Python 2 gueltige Syntax (aber semantisch komplett falsch).
Dein Programm ist fuer Python 2 geschrieben, also benutze Python 2, oder konvertiere das nach Python 3, aber das geht nicht mit deinem derzeitigen Wissen und schon gar nicht mit halbherzigen Versuchen.
BlackJack

@Qoo4real: Nein es muss nicht 3.1 gewesen sein. So etwas wie ``print ("hallo")`` ist auch in 2.x syntaktisch nicht überall falsch. Die Klammern sind da halt nur überflüssig.

`raw_input()` gibt es in Python 3 nicht mehr. Ein weiteres Indiz, dass Du vorher *nicht* 3.1 verwendet hast.

Ändere die ``print``-Anweisungen wieder zurück und installiert Dir ein aktuelles Python 2.
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Oder installiere 2.6 und setze ein ``from __future__ import print_function`` in deine Dateien ganz an den Anfang. So sparst du dir das ändern in alte Syntax.
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Qoo4real
User
Beiträge: 7
Registriert: Sonntag 17. Januar 2010, 16:02

oooh super ich hab jetzt python 2.xx drauf gemacht und es läuft wieder vielen dank für eure hilfe leute!!
Und ja mein wissen was python angeht is noch net so ausgeprägt aber ich arbeite dran.
Antworten