Seite 1 von 1

Wer kann einem Beginner helfen?

Verfasst: Donnerstag 21. März 2013, 21:13
von funnix
Hallo zusammen,
ich habe ja schon begriffen, das es bei Python auf die Syntax ankommt. Aber was mache ich hier bloß falsch?

Code: Alles auswählen

#!/usr/bin/python
# -*- coding: utf-8 -*-

import MySQLdb as mdb
import serial
import sys
import time
from operator import xor
def sqlread(RFID):
        print "XXXXX id",RFID
        try:

                con = _mysql.connect('localhost', 'user','kennwort', 'rfid')
                con.query("SELECT VERSION()")
                result = con.use_result()
                print "MySQL version: %s"
                result.fetch_row()[0]


        return;

#       except _mysql.Error, e:

# UART
ID = ""
Zeichen = 0


ich bekomme immer
File "./rfid2.py", line 20
return;
^
SyntaxError: invalid syntax

kann mir da jemand helfen? Ich habe schon alles hinund her gerückt:
und
python -m tabnanny rfid2.py
schmeisst keine Bemerkungen raus....


Danke schon mal

Gruß vom Neuling ;-)

Re: Wer kann einem Beginner helfen?

Verfasst: Donnerstag 21. März 2013, 21:25
von darktrym
Die Einrückung (und vieles mehr).

Re: Wer kann einem Beginner helfen?

Verfasst: Donnerstag 21. März 2013, 21:32
von funnix
Kannst Du das auch Spezifizieren?

Wäre echt nett. Ich habe das mit VI erstellt und die Abstände entstehen durch Tabs (1 Tab = 4 Zeichen)....

Gruß Funnix

Re: Wer kann einem Beginner helfen?

Verfasst: Donnerstag 21. März 2013, 21:43
von BlackJack
@funnix: Rücke mit vier Leerzeichen ein. Das ist die übliche Konvention. Semikolons am Zeilenende sind sinnfrei, die dienen weder als Markierung für das Ende eines Ausdrucks wie in vielen C-artigen Programmiersprachen, noch trennen sie generenn die Anweisungen in einem Block wie bei Pascal.

Dein Problem ist das ``try`` wo der Compiler anstelle des ``return`` ein ``except`` oder ein ``finally`` erwartet hätte. ``try`` alleine macht keinen Sinn.

Re: Wer kann einem Beginner helfen?

Verfasst: Donnerstag 21. März 2013, 21:51
von BlackJack
@funnix: Weitere Anmerkungen: Ein führender Unterstrich bei Namen bedeutet per Konvention, dass es sich um ein Implementierungsdetail handelt und nicht um einen Teil der öffentlichen API. Davon abgesehen, dass Du das Modul `_mysql` gar nicht importiert hast, ist das auch nicht für Dich zum Benutzen vorgesehen.

Die Zeile zwischen ``print`` und ``return`` ist so wie sie da steht sinnfrei, weil mit dem Ergebnis des Ausdrucks überhaupt nichts gemacht wird.

Ansonsten könntest Du mal in den Style Guide for Python Code schauen.

Re: Wer kann einem Beginner helfen?

Verfasst: Donnerstag 21. März 2013, 22:49
von funnix
Danke das hat geholfen!! Tuts (fast)