Fehlermeldung in Python

Hallo,
Ich versuche für meinen RPI eine Script unter Python zu schreiben.
Erste Problem nach Enter kann ich in der vorherigen Zeile nichts mehr ändern.
Wie kann ich aber nach Fehlermeldung eine Änderung vornehmen.

GPIO.setup(Ampel [rot], GPIO.OUT, initial=False

Hier fehlt am Ende eine Klammer
Wie kann die nachträglich eingefügt werden.

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)

rot = 0; gelb = 1; gruen = 2
Ampel=[4,18,23]
GPIO.setup(Ampel [rot], GPIO.OUT, initial=False)
Traceback (most recent call last):
File „<pyshell#7>“, line 1, in
GPIO.setup(Ampel [rot], GPIO.OUT, initial=False)
RuntimeError: No access to /dev/mem. Try running as root!

GPIO.setup(Ampel[rot], GPIO.OUT, initial=False)
Traceback (most recent call last):
File „<pyshell#8>“, line 1, in
GPIO.setup(Ampel[rot], GPIO.OUT, initial=False)
RuntimeError: No access to /dev/mem. Try running as root!

Was ist das für ein Fehler
Ich habe alles genau wie vorgegeben abgeschrieben. Komme leider nicht weiter.
Wer kann helfen.
Danke Michael

Hallo @Michael_B_8c9076,
leider verstehe ich Deine Frage nicht. Du schreibst ein Skript in Python.
D.h. Du erstellst eine Datei mit einem Editor, in die Du einen Code schreibst. Die Datei speicherst Du als xxx.py. Danach startest Du das Skript. (mit python xxx.py)?
Oder startest Du zuerst python und arbeitest dann direkt im Interpreter. (mit diesem Prompt: >>>)?
Im letzteren Fall würde ich Dir dringend empfehlen Dich mehr mit der Sprache zu beschäftigen. Hier einige Tutorials und Einsteigerseiten:
http://www.pythonmania.de/article/hallowelt.html
http://www.python-kurs.eu/kurs.php
Falls Du im Interprter arbeitest, wird mit der Pfeil-nach-oben-Taste der zuletzt eingegebene Befehl nochmal angezeigt und Du kannst ihn erneut bearbeiten.
Die andere Fehlermeldung sagt, dass Du nicht die nötigen Rechte hast im Verzeichnis /dev/mem zu schreiben.
Ich hoffe es hilft ein wenig!
Viel Erfolg & Gruß,
charly60

Moin charly60,
Danke für Deine Nachricht.
Ich war gestern so genervt von dieser tipperei.
Jetzt nochmal:

  • Ich starte den PI über Remout Desktop Winz

  • Auf dem Screen ist ein Verzeichnis Python2

  • Bei diesem habe ich mit Rechtsklick den Text Editor geöffnet und in denZeilen:

    NAME=idle_GPIOB.Desktop
    EXES=sudo /usr/bin/idle

eingetragen und die Datei dann unter <idle_GPIOB.Desktop > gespeichert.
Laut Buch Franzis Lernpaket sollte jetzt der Interpreter immer mit root Rechten geöffnet werden. Ist das so OK?

Wenn ich jetzt die Python Shell öffne und ich gebe die Befehle ein

GPIO.setmode(GPIO.BCM
hier habe ich z.B. hinter BCM die Klammer vergessen
und bin jetzt schon in der nächsten Zeile,
gelingt es mir nicht die Klammer nachträglich einzufügen bzw. ein Zeichen zu löschen oder zu ändern

GPIO.setupxxxxxxx

Du schreibst Pfeil-nach-oben-Taste geht bearbeiten. Ich verstehe die Tasten links vom Nummern Block.
Hoch, runter, links, rechts oder sind andere Tasten gemeint. Mit den Tasten komme ich in die vorherige Zeile,
aber eine Bearbeitung ist nicht möglich.

Das so weit.
Kannst Du mir bitte helfen.
Danke Michael

Hallo Michael,
leider wird das wahrscheinlich nichts mit der Hilfe.
Meine Probleme:
Kein Raspi zum Test zur Verfügung.
Kein Franzis Lernpaket.
Kein Remout Desktop Winz. Was ist das?
Welches Betriebssystem läuft auf dem Raspi?
Gibt es da von Franzis keine direkte Hilfe bei Schwierigkeiten?
Vielleicht findet sich hier noch jemand, der besser helfen kann?!
Trotzdem wünsche ich Dir viel Erfolg beim Arbeiten mit dem Raspi.
Gruß,
charly60.

Hallo charly60
Es soll natürlich Win7 heißen.
Auf dem PI ist 2015-05-05-raspbian-wheezy insalliert.
Es geht hier auch nicht um das Lernpaket,
Ich denke, das wird schon OK sein.
Es geht darum, wenn ich unter der Python Shell einen Fehler gemacht habe und
schon eine Zeile weiter bin ich den Fehler nicht mehr korrigieren kann.
Hast du dafür eine Lösung.
Gruß Michael

Also ich arbeite direkt auf einem Bananapi mit Lubuntu. Dort öffne ich ein Terminal und tippe python ein. Hier das Ergebnis:
Python 2.7.6 (default, Jun 22 2015, 18:31:26)
[GCC 4.8.2] on linux2
Type „help“, „copyright“, „credits“ or „license“ for more information.

die obigen drei sekrechten Balken stehen für >>> das liegt wohl Editor hier.
Dann Tippe ich die falsche Eingabe ein:

GPIO.setmode(GPIO.BCM

und bekomme eine Meldung:

Danach die Pfeil-nach-oben-Taste und

… GPIO.setmode(GPIO.BCM

wird angezeigt und ich kann die Klammer schließen

… GPIO.setmode(GPIO.BCM)
nach Enter kommt die Fehlermeldung:

File „“, line 3
GPIO.setmode(GPIO.BCM)
^
SyntaxError: invalid syntax

Mehr kann ich dazu nicht schreiben.
Es kann aber auch an meinem Terminal liegen, da es hier immer möglich ist mit der Pfeil-nach-oben-Taste die letzte Eingabe wieder anzuzeigen.
Aber noch eine Frage.
Kannst Du Deine Prozedur nicht komplett in eine Datei Schreiben, diese dann als xxx.py speichern und dann diese mit python /pfad/zur/datei/xxx.py starten? Siehe auch meine Links.
Dann sollte das mit dem Editieren/Ändern doch gar kein Problem sein.
Gruß,
charly60

Hallo charly60,
Wenn ich mit der Konsole arbeite dann kann ich auch korrigieren.
Aber wie gesagt nicht mit der Python Shell.
Wenn ich das im Editor schreibe und speichere die Datei unter xxx.py
wird die Datei nicht erkannt. Das ist aber ein anderer Punkt.
Hier habe ich auch so meine Probleme.
Deine Idee werde ich aber aufgreifen und versuchen in Notepad zu schreiben
und dann die Datei mittels FileZilla zu speichern.
Mal sehen?
Gruß Michael