Comment éviter le “ValueError: non valide \x échapper à” l'erreur dans ce cas particulier?

Évidemment le joker %x n'est pas reconnu comme un octet de valeur hexadécimale, donc, je reçois le message d'erreur "ValueError: non valide \x échapper".

Comment l'éviter? Je ne suis pas familier avec le langage python.

for i in xrange(0,length):

  if i % 2 == 0:

    tempArray.append(unpack("B",payload_raw[x])[0]^key)
    x += 1

  else:

    randomByte = random.randint(65,90)
    tempArray.append(randomByte)

    for i in range(0,len(tempArray)):

      tempArray[i]="\x%x"%tempArray[i]

    for i in range(0,len(tempArray),15):

      outArray.append("\n'"+"".join(tempArray[i:i+15])+"'")
      outArray = "".join(outArray)
      devide = "i % 2;"
      open_structure = open(structure).read()
      code = open_structure % (junkA,outArray,junkB,key,length,devide)
      b.write(code)
      b.flush()
Qu'espérez-vous accomplir avec cette ligne? \x<whatever> ne faire quelque chose d'utile dans une chaîne littérale; vous ne pouvez pas utiliser la mise en forme de chaîne de cette façon.

OriginalL'auteur JohnnyFromBF | 2012-08-30