telnet write takes exactly 2 arguments (3 given)

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
rathi
User
Beiträge: 1
Registriert: Freitag 18. April 2014, 21:08

Code: Alles auswählen

from time import sleep
import RPi.GPIO as GPIO
import telnetlib

#GPIO Setup#
GPIO.setmode(GPIO.BCM)

GPIO.setup(4, GPIO.IN)
GPIO.setup(17, GPIO.IN)
GPIO.setup(27, GPIO.IN)
GPIO.setup(22, GPIO.IN)


#Server#
host = '192.168.1.2'
port = '9090'

#Tasten#
while 1:
        if GPIO.input(4):
                telnet = telnetlib.Telnet(host, port)
                telnet.write("Wohnzimmer play  \n")

        if GPIO.input(17):
                telnet = telnetlib.Telnet(host, port)
                telnet.write("Wohnzimmer stop \n")

        if GPIO.input(27):
                telnet = telnetlib.Telnet(host, port)
                telnet.write(z,u "\n")

        if GPIO.input(22):
                telnet = telnetlib.Telnet(host, port)
                telnet.write("Wohnzimmer favorites playlist play item_id:8 \n")


Hallo Zusammen,

bin neu bei Python und versuchen schon den ganzen Tag meine Erfahrung mit Python zu sammeln.
Hänge gerade bei einem Problem mit Telenet, wollte mir eine Variable mit if schreiben welche bei jedem Tastendruck am Raspberry Pi
eins nach oben zählt.

und diese dann in die Zeile telnet.write einfüge
sollte ungefähr so aussehen

u= u +1
telnet.write("Wohnzimmer favorites playlist play item_id:",u, "\n")

leider kommt dann eine Fehlermeldung "telnet write takes exactly 2 arguments (3 given)"

Dank schon mal für eure Hilfe

Gruß
Rene
BlackJack

@rathi: Bei *dem* Quelltext kommt ein Syntaxfehler. Die Methode ewartet implizit als erstes Argument das `Telnet`-Objekt und als zweites eine Zeichenkette die geschrieben werden soll. Also darfst Du da beim Aufruf nur *ein* Argument übergeben, eben jene Zeichenkette. Du übergibst aber *zwei*. Argumente werden durch Kommas getrennt. Du musst den Wert in die eine Zeichenkette die Du übergeben darfst, hineinformatieren. Zeichenketten haben dafür eine `format()`-Methode.
Antworten