Was bedeutet "\x" in Python

06/05/2009 - 19:46 von decon | Report spam
hi,

hab hier eine MAC-Adresse: "00:1a:2a:16:58:9d", und möchte gerne diese in
die Form: "\x1a\x2a\x16\x58\x9d" bringen. Auf den ersten Blick kein
Problem:

mac = "00:1a:2a:16:58:9d"
mac.replace(":",\x")
mac = "\x"+mac

Nur bekomme ich desen hier: "ValueError: invalid \x escape"
Okay - Escape-Sequenz. Was genau ist und macht "\x" und wie kann ich mein
oben beschriebenes Problem lösen?

thx

hegno
 

Lesen sie die antworten

#1 Tobias Klausmann
06/05/2009 - 20:08 | Warnen spam
decon wrote:
hab hier eine MAC-Adresse: "00:1a:2a:16:58:9d", und möchte gerne diese in
die Form: "\x1a\x2a\x16\x58\x9d" bringen. Auf den ersten Blick kein
Problem:

mac = "00:1a:2a:16:58:9d"
mac.replace(":",\x")
mac = "\x"+mac

Nur bekomme ich desen hier: "ValueError: invalid \x escape"
Okay - Escape-Sequenz. Was genau ist und macht "\x" und wie kann ich mein
oben beschriebenes Problem lösen?



\x heisst "hier folgt ein Character, den ich als hex angegeben
habe (siehe ASCII/ISO8859-Tabellen).

print "%x" % (ord("a"))






61
print "\x61"






a








Ergo muss man den \x escapen als \\x:

mac = "00:1a:2a:16:58:9d"
mac="\\x" + mac.replace(":","\\x")
print mac






\x00\x1a\x2a\x16\x58\x9d








Das wolltest du, oder?

Gruss,
Tobias
The only problem with troubleshooting is that sometimes,
trouble shoots back.

Ähnliche fragen