Syntaxfehler

Python auf Einplatinencomputer wie Raspberry Pi, Banana Pi / Python für Micro-Controller
Antworten
dete38
User
Beiträge: 6
Registriert: Mittwoch 26. September 2018, 08:54

<t>Moin Experten,<br/>
<br/>
ich bin Anfänger, habe mich aber gefreut, ein Pythonskript auf dem Raspi zum Laufen gebracht zu haben.<br/>
<br/>
#import RPi.GPIO as GPIO<br/>
import os<br/>
import sys<br/>
from subprocess import Popen<br/>
<br/>
GPIO.setmode(GPIO.BCM)<br/>
GPIO.setwarnings(False) #sinnlose Fehlermeld. ex<br/>
<br/>
GPIO.setup(19, GPIO.OUT) #LED_rt<br/>
GPIO.setup(4, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) #01.mp3 bzw 01a<br/>
GPIO.setup(17, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) #02.mp3 "<br/>
<br/>
STCK1 = ("/media/pi/STICK/RAS/01.mp3")<br/>
STCK2 = ("/media/pi/STICK/RAS/02.mp3")<br/>
STCK3 = ("/media/pi/STICK/RAS/03.mp3") <br/>
<br/>
Jetzt habe ich den Skript erweitert und da es bis STCK10 geht,<br/>
die Variablen in STCK01, STCK02 .....geändert.<br/>
Nun kommt "Syntaxfehler" <br/>
Bin völlig ratlos.....</t>

Python 3.6.
__deets__
User
Beiträge: 14528
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ich weiss nicht genau, was da mit dem Forum los war, aber so ist dein Code nicht zu lesen. Bitte nochmal posten, und dabei die Code-Tags (</>-Eintrag im vollstaendigen Editor) nicht vergessen.
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

@dete38: bitte den vollständigen Code mit dem vollständigen Traceback der Fehlermeldung posten. STCK1, etc. werden nämlich gar nicht benutzt, es kann also keinen Effekt haben, wenn Du daran etwas änderst.

Statt Variablen (oder hier Konstanten) durchzunummerieren, verwende eine Liste. Du hast nämlich jetzt schon das Problem, dass Du Dinge umbenennen mußt, weil sich etwas geändert hat. Wenn Die Dateinamen wirklich nur Nummern sind, kann man die auch vollständig automatisch generieren, oder noch besser, einfach das Verzeichnis mit glob.glob durchgeben und sich alle mp3-Dateien geben lassen.
Warnungen sind dazu da, dass man die Ursache abstellt (meist durch gesichterten Aufruf von cleanup in einem finally-Block) und nicht, dass man sie einfach ignoriert. Sinnlos sind die Meldungen nämlich nicht, wie es der Kommentar suggeriert.
dete38
User
Beiträge: 6
Registriert: Mittwoch 26. September 2018, 08:54

Sinnlos sind die Meldungen nämlich nicht, wie es der Kommentar suggeriert.
...... das sind schon wichtige Hinweise !!!! Danke !!!
dete38
User
Beiträge: 6
Registriert: Mittwoch 26. September 2018, 08:54

So, liebe Leute, ich habe es gefunden.
Habe #Kommentare am Ende von Befehlszeilen eingefügt.
Das hat er mir übelgenommen und es ging erst wieder, als ich
das ganze Programm bereinigt und in einer neuen Datei eingefügt
habe. Weglöschen von "#Text" hat nicht gereicht. Es war zwar oberflächlich
alles "sauber". Idle hat aber trotzdem einen Syntaxfehler gemeldet.
Ich saaach ja: Anfänger !!!
Ein Profi werde ich so schnell nicht, deshalb ist das Forum recht schön.
Allen vielen Dank !!!
Ich arbeite am Nachfolger von dieser Kiste:
https://www.youtube.com/watch?v=PKlkArttWLg
Benutzeravatar
__blackjack__
User
Beiträge: 13077
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Wenn das Entfernen der Kommentare nicht gereicht hat, dann lag es auch nicht an den Kommentaren. Ich tippe mal auf falsche Kodierung und/oder ein BOM bei UTF-8.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
dete38
User
Beiträge: 6
Registriert: Mittwoch 26. September 2018, 08:54

Herzlichen Dank !!
Da bei anderen Skripten die Kommentierung innerhalb der "Befehlszeile"
keine Probleme macht, gehe ich davon aus, das das auch zulässig ist.
Dein BOM- Hinweis brachte die Erinnerung, daß Python auch an einer Stelle
gemeckert hat, wo gar kein Text stand.
Schlußfolgerung: Vorsicht bei Einfügen von Texten, die mit anderen Editoren erstellt wurden!
Wieder etwas gelernt !!
Nochmals Danke und alles Gute !!
Antworten