Wer kann einem Beginner helfen?

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
Benutzeravatar
funnix
User
Beiträge: 8
Registriert: Donnerstag 21. März 2013, 20:57

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 ;-)
Zuletzt geändert von Anonymous am Donnerstag 21. März 2013, 21:44, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Code-Tags gesetzt.
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

Die Einrückung (und vieles mehr).
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
Benutzeravatar
funnix
User
Beiträge: 8
Registriert: Donnerstag 21. März 2013, 20:57

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
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.
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.
Benutzeravatar
funnix
User
Beiträge: 8
Registriert: Donnerstag 21. März 2013, 20:57

Danke das hat geholfen!! Tuts (fast)
Antworten