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
_______________________________________________
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python

Rispondere a