problem parsing an int from IRC output.....(solved)

Luke Ordelmans l.ordelmans at student.utwente.nl
Thu May 15 07:49:19 EDT 2003


Thx, i found the problem now:

The list i got was:

['1', '9', '0', '7', '2', '\x01', '\r', '\n']

Now after stripping the hidden part it works..

Luke

btw thx for the [n:m] tip to (didn't know that)

Irmen de Jong wrote:

> Luke Ordelmans wrote:
> 
>> but i fail trying to convert the PORT to int....
>> 
>> here's (a piece of) my code for this part:
>> 
>> if data.find("DCC CHAT chat") != -1:
>>         servip = data.__getslice__(len(data)-19, len(data)-9)
>>         servport = data.__getslice__(len(data)-8, len(data))
> 
> __getslice__? Why use this when we have [n:m] ?
> 
>>         print("\tfrom IP: " + str(servip) )
>>         print("\tat port: " + str(servport) )
>>         s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
>>         s.bind(("localhost", 9234))
>>         #server = ("localhost", servport)                       # FAILES
>>         #server = ("localhost", int(servport))                  # FAILES
>>         server = ("localhost", int(servport.strip()), 0)        # FAILES
>>         s.connect(server)
>> 
>> the error I get:
>> 
>> File "./FSStatus.py", line 28, in dataReceived
>> server = ("localhost",int(servport))
>> exceptions.ValueError: invalid literal for int(): 49369
> 
> My guess is that there are invalid characters in the string
> you want to convert to an int. Because Python says so :-)
> (even though they don't show up in the traceback, they
> might still be there .)
> 
> I.e. the piece of code that slices out the servport part
> of the data doesn't chop off everything that you want
> chopped off...
> 
> Can you show us a piece of the input that you give this
> code? When you run it yourself it must be fairly simple
> to see what's wrong when you test it manually with the
> exacy input. Also try printing the contents of servport;
> 
> print list(servport)  # this will show 'hidden' chars too
> 
> --Irmen





More information about the Python-list mailing list