Anfängerskript aus Buch bringt Fehlermeldung

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.
Benutzeravatar
pee
User
Beiträge: 4
Registriert: Freitag 27. Februar 2009, 06:03
Kontaktdaten:

Anfängerskript aus Buch bringt Fehlermeldung

Beitragvon pee » Freitag 27. Februar 2009, 06:10

Huhu,

ich habe vor kurzem angefangen Python zu lernen. Das ist mein erstes Posting. Ich heiße Peter, nutze Ubuntu 8.10 und komme aus Rheinland-Pfalz. Bisher kann ich PHP, MySQL, XHTML und CSS programmieren. Hoffe das ich hier zusammen mit anderen Nutzern angenehm meine Erfahrungen austauschen kann.

Habe mir »Das Python Praxisbuch« von Farid Hajji zugelegt und bin dabei es durchzuarbeiten. Nachdem ich folgenden Code aus dem Buch abgetippt und mit Python gestartet habe (=
jesper@jesper-desktop:~$ python hello2.py
)
, erhalte ich die Fehlermeldung
File "hello2.py", line 5
,,,
^
SyntaxError: invalid syntax
.

Der Code:


Code: Alles auswählen

#!usr/bin/env python
# hello2.py -- the traditional hello world program, cli version


,,,
This program greets the user and asks him for a name,
but only if the name has not been specified on the
command line interface as its first argument. Then
it welcome the user with a nice personalized message.

Call this program either as:
   hello2.py "John Doe"
or as
   hello2.py

,,,


import sys

def say_hello():
   "Say hello to the world!"
   print "Hello, World!"

def ask_user_from_cli():
   "Fetch user name from the command line interface"
   if len(sys.argv) > 1:
      return sys.argv[1]
   else:
      return None

def ask_user_interactively():
   "Ask user for his name"
   return raw_input("What's your name? ")

def greet_user(name):
   "Send user a personalized greeting"
   print "Nice to meet you,", name

def main():
   "This is the main program"
   say_hello()
   name = ask_user_from_cli()
   if name is None:
      name = ask_user_interactively()
   greet_user(name)

if __name__== '__main__':
   main()


Hoffe jemand hat einen Hinweis für mich, mit dem ich diesen Fehler beheben kann.

Viele Grüße,
pee
Eine Schippe Spezialsuchmaschinen: http://mycroft.mozdev.org/index.html & Google auf anonym: http://scroogle.org/.
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

Beitragvon gkuhl » Freitag 27. Februar 2009, 07:58

Hallo Pee, wilkommen im Forum,

ersetze mal die Kommas in den Zeilen 5 und 16 durch einfache Anfuehrungszeichen, dann sollte es funktionieren.

Code: Alles auswählen

'''
This program greets the user and asks him for a name,
but only if the name has not been specified on the
command line interface as its first argument. Then
it welcome the user with a nice personalized message.

Call this program either as:
    hello2.py "John Doe"
or as
    hello2.py
'''


Gruesse
Gerrit
Benutzeravatar
pee
User
Beiträge: 4
Registriert: Freitag 27. Februar 2009, 06:03
Kontaktdaten:

Beitragvon pee » Freitag 27. Februar 2009, 08:08

Vielen Dank für deine Antwort. Das Skript funktioniert nun.

In meinem Buch steht, dass das GUI-Toolkit Tkinter Teil der »batteries included« Python Standard Library ist. Ich musste unter Ubuntu 8.10 jedoch mit dem Paketmanager Tkinter nachinstallieren, damit ein Skript funktionierte, welches es benötigte. Ist also Tkinter bei Python nicht »automatisch dabei«?
Eine Schippe Spezialsuchmaschinen: http://mycroft.mozdev.org/index.html & Google auf anonym: http://scroogle.org/.
Benutzeravatar
kbr
User
Beiträge: 774
Registriert: Mittwoch 15. Oktober 2008, 09:27
Wohnort: Düsseldorf

Beitragvon kbr » Freitag 27. Februar 2009, 08:51

pee hat geschrieben:In meinem Buch steht, dass das GUI-Toolkit Tkinter Teil der »batteries included« Python Standard Library ist. Ich musste unter Ubuntu 8.10 jedoch mit dem Paketmanager Tkinter nachinstallieren, damit ein Skript funktionierte, welches es benötigte. Ist also Tkinter bei Python nicht »automatisch dabei«?


Tkinter als Python-Wrapper für Tk schon, Tk hingegen ist kein Bestandteil von Python und muß eventuell nachinstalliert werden. Die Originaldokumentation mit diesem Hinweis zu Tkinter findest Du hier: http://docs.python.org/library/tkinter.html#module-Tkinter

Das Buch von Farid Hajji finde ich auch recht gut gelungen.
Benutzeravatar
pee
User
Beiträge: 4
Registriert: Freitag 27. Februar 2009, 06:03
Kontaktdaten:

Beitragvon pee » Freitag 27. Februar 2009, 08:58

Gibt es ein GUI-Toolkit, welches bei Python direkt dabei ist?

Kennt jemand von euch eine Website mit Python-Tutorials? Mich interessiert, wie ich mit Python eine Mp3-Datei abspielen kann. Danke für eure Postings, ich freue mich jedes Mal über eine Antwort.
Eine Schippe Spezialsuchmaschinen: http://mycroft.mozdev.org/index.html & Google auf anonym: http://scroogle.org/.
BlackJack

Beitragvon BlackJack » Freitag 27. Februar 2009, 09:10

@pee: Tkinter ist in den offiziellen Python-Quellen dabei, gehört also zur Standardbibliothek. Viele Linuxdistributionen machen trotzdem ein eigenes Paket daraus, weil Linux und Python auch auf Servern eingesetzt wird, wo man oft weder Tkinter braucht, noch Tk und einen XServer und andere Abhängigkeiten, die man sich einhandelt, wenn man eine GUI-Bibliothek installiert.

So etwas wie `distutils` ist auch oft noch einmal in einem Extra-Paket.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Beitragvon gerold » Freitag 27. Februar 2009, 09:28

pee hat geschrieben:wie ich mit Python eine Mp3-Datei abspielen kann

Hallo pee!

Willkommen im Python-Forum! :-)

Du könntest z.B. den mplayer aufrufen oder fernsteuern.
http://www.python-forum.de/post-125567.html#125567

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
pee
User
Beiträge: 4
Registriert: Freitag 27. Februar 2009, 06:03
Kontaktdaten:

Beitragvon pee » Freitag 27. Februar 2009, 09:54

Ich hab es tatsächlich geschafft Mplayer mit Python anzusteuern und eine Mp3 abzuspielen. Vielen Dank für den Link zum Thread mit der Erklärung.
Eine Schippe Spezialsuchmaschinen: http://mycroft.mozdev.org/index.html & Google auf anonym: http://scroogle.org/.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder