Seite 1 von 1

Invalid Syntax

Verfasst: Mittwoch 29. September 2010, 15:21
von Dominik
Hallo,
Ich bin leider nicht sehr erfahren was Python angeht aber ich habe folgendes Programm:

Code: Alles auswählen

#!/usr/bin/python

# (all?) possible keys for movie data?
# see res.get()

# from http://imdbpy.sourceforge.net/?page=docs
from imdb import IMDb

def getPersons(moviename):
    print "fetching actors for movie '" + moviename + "'"
    ia = IMDb()
    s_result = ia.search_movie(moviename)
    if (len(s_result) == 0):
        print "got no movie for '" + moviename + "'"
        return false
    res = s_result[0]
    print res.get('music')
    ia.update(res)
    actors = s_result[0].get('actors')
    ret = {}
    for actor in actors:
        ret[str(actor.getID())] = str(actor)
    print "got " + str(len(actors)) + " actors"
    return ret

def intersect(a, b):
     return list(set(a) & set(b))

def compareMovies(movieNames):
    movieActors = {}
    for movieName in movieNames:
        movieActors[movieName] = getPersons(movieName)
    i = 0
    for k in movieActors.keys():
        i += 1
        for k2 in movieActors.keys()[i:]:
            actors = intersect(movieActors[k], movieActors[k2])
            print "comparing '" + k + "' to '" + k2 + "' => got " + str(len(actors)) + " hit(s)"
            for actor in actors:
                print movieActors[k][actor]

compareMovies(['Titanic', 'The Untouchables', 'Godzilla', 'The Reader'])
Dieses möchte ich unter Windows Vista aufrufen. Dafür habe ich mir Python 2.6 und Pythonimdb heruntergeladen. Den Code habe Ich in den Editor kopiert und film.py genannt. Wenn mit Python aufrufen will kommt "There´s an error in your Programm: invalid syntax" Leider steht weder welche Zeile noch was er anders haben möchte. Dieser Fehlermeldung kommt sogar wenn ich alles aus der Datei lösche, dh eine leere Datei laufen lasse.
Was könnte ich da machen ?
Vielen Dank schon mal

Domi

Re: Invalid Syntax

Verfasst: Mittwoch 29. September 2010, 15:26
von Rebecca
Dominik hat geschrieben:"There´s an error in your Programm: invalid syntax"
Das ist keine Python-Fehlermeldung, also ist die Frage, wie du das Programm aufrufst? Fuehre es doch mal aus der Konsole aus (click). Ausserdem gibt es hier im Forum Python-Tags fuer den Code.

Re: Invalid Syntax

Verfasst: Mittwoch 29. September 2010, 15:32
von BlackJack
Der Quelltext sieht IMHO auch nicht besonders "pythonisch" aus. Da hatte jemand beim Schreiben wohl noch eine andere Programmiersprache im Blut.

Re: Invalid Syntax

Verfasst: Mittwoch 29. September 2010, 15:44
von Dominik
Vielen Dank

Ich habe Python nun, wie in dem FAQ erklärt, in der Konsole ausgeführt und bekomme folgende Meldung:
C:\...\Neuer Ordner>python film.py
File "film.py", line 1
Python 2.6 <r26:66721, Oct 2 2008, 11:35:03> [MSC v.1500 32 bit <Intel>] on win32
SyntaxError: invalid syntax


habe ich vielleicht die falsche Version von Python ? oder soll ich einfach mal alles aus dem Fenster werfen ?

Vielen Dank für die Hilfe

Grüße

domi

Re: Invalid Syntax

Verfasst: Mittwoch 29. September 2010, 16:06
von BlackJack
@Dominik: Das sieht aus als wenn die `film.py` mit der Zeile ``Python 2.6 <r26:66721, Oct 2 2008, 11:35:03> [MSC v.1500 32 bit <Intel>] on win32`` beginnt -- das ist keine gültige Python-Syntax sondern die Ausgabe vom Interpreter wenn man ihn startet. Wie kommt das da hinein?