[python] enters/whitespace strippen.

Pagina: 1
Acties:

  • killercow
  • Registratie: Maart 2000
  • Laatst online: 12-02 10:50
Ik heb een servertje gemaakt welke via socket.receive wat data ontvangt.

Nu moet ik de ontvangen data gebruiken als key voor een dictionary.
Dus strip ik eventuele /n,/r en whitespace, maar om een of andere reden wil hij de key niet snappen.

Python:
1
2
3
4
5
6
7
8
9
data = client[0].recv(100)
if data:
    data=data.strip().replace(" ", "")
    data=data.replace("\n", "")
    data=data.replace("\r", "")
    try:
        fileinfo=files[data]
    except:
        print "nope, cant find"


Dat zou het moeten doen toch, of mis ik nog wat andere whitespace chars?

Ik test gewoon via telnet, localhost openen, en dan tekst typen + enter.

Iemand enige idee?

openkat.nl al gezien?


Verwijderd

Misschien een idee om wat print statementjes ertussen te gooien zodat je kan zien wat er in "data" staat? En volgens mij is data.strip().replace... dubbelop, strip() haalt volgens mij whitespaces al weg. Een ander idee is om data te splitten met een lege delimiter en dan te joinen.

  • killercow
  • Registratie: Maart 2000
  • Laatst online: 12-02 10:50
Verwijderd schreef op maandag 23 oktober 2006 @ 15:25:
Misschien een idee om wat print statementjes ertussen te gooien zodat je kan zien wat er in "data" staat? En volgens mij is data.strip().replace... dubbelop, strip() haalt volgens mij whitespaces al weg. Een ander idee is om data te splitten met een lege delimiter en dan te joinen.
Yup dat had ik ook gedaan, er lijkt een of andere enter achter blijven zitten.

als ik print "ontvangen:'"+data+"'"

uitvoer na de opruim code krijg ik zo iets terug:

ontvangen:'invoer
'

Maar wat voor enter zit daar dan?

openkat.nl al gezien?


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 21:39

TeeDee

CQB 241

Misschien
code:
1
\r\n en/of \n\r

combineren in je Replace?
Misschien even beloeren met een HexEditor om te zien wat er nu exact staat.

[ Voor 36% gewijzigd door TeeDee op 23-10-2006 15:35 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • zwippie
  • Registratie: Mei 2003
  • Niet online

zwippie

Electrons at work

Python:
1
2
s = ' Dit zou moeten     werken  .  '
''.join(s.split())

How much can you compute with the "ultimate laptop" with 1 kg of mass and 1 liter of volume? Answer: not more than 10^51 operations per second on not more than 10^32 bits.


  • killercow
  • Registratie: Maart 2000
  • Laatst online: 12-02 10:50
yay, dat werkte.

Nu alleen nog de threads en de socket weer netjes laten stoppen als er iets mis gaat, want zo blijf ik ports openen.

bedankt!

openkat.nl al gezien?

Pagina: 1