[Python] Un errore col modulo telnetlib.
Riccardo Magliocchetti
riccardo.magliocchetti a gmail.com
Mar 28 Nov 2017 14:45:20 CET
Il 28/11/2017 14:30, Gabriele Battaglia ha scritto:
> Buon pomeriggio.
>
> Ho un errore in questo script. Con Python 2 andava tutto bene, il 3.6.2 invece,
> si comporta in maniera diversa.
> Questo stralcio è la parte che si occupa di fare il login ad un server telnet.
>
> ***
>
> login:' Gabrybat
> test user Gabrybat <class 'str'>
> Traceback (most recent call last):
> File "bici3.py", line 406, in <module>
> user, password = Apri("Nuovo", "")
> File "bici3.py", line 31, in Apri
> tn.write(user+"\r\n") # tn = telnetlib.Telnet()
> File
> "C:\Users\GBattaglia\AppData\Local\Programs\Python\Python36-32\lib\telnetlib.py", line
> 287, in write
> if IAC in buffer:
> TypeError: 'in <string>' requires string as left operand, not bytes
>
> C:\Dropbox\Py>
>
> Tuttavia io ho passato una stringa, ne ho anche stampato la classe nella riga
> "test user".
Credo che l'interprete python abbia più conoscenza del codice di quella che hai
tu :)
> Qualcuno ha idea del perchè accada ciò?
La gestione del testo è cambiata completamente in python3:
https://docs.python.org/3.0/whatsnew/3.0.html#text-vs-data-instead-of-unicode-vs-8-bit
http://www.diveintopython3.net/strings.html
--
Riccardo Magliocchetti
@rmistaken
http://menodizero.it
Maggiori informazioni sulla lista
Python