Python Регулярные переменные определения местоположения - PullRequest
0 голосов
/ 13 апреля 2020

Прямо сейчас я пишу обфускатор от руки, это было очень весело, однако я обнаружил одну вещь, которая постоянно нарушает поток моего кода:

internal = re.compile('\(.*\)')

В настоящее время я пытаюсь найти мои внутренние функции, которые, как правило, заключаются в круглые скобки, а затем принимают эту переменную и заменяют все возможные ее появления:

def tri_recursion(k):
  if(k > 0):
    result = k + tri_recursion(k - 1)
    print(result)
  else:
    result = 0
  return result

print("\n\nRecursion Example Results")
tri_recursion(6)

, которая работает нормально, поскольку она берет то, что выше, и превращает ее в:

#[O] - : ??욥en - [O]
def ?䪶?(??욥):
  if(??욥 > 0):
    result = ??욥 + ?䪶?(??욥 - 1)
    print(result)
  else:
    result = 0
  return result

print("\n\nRecursion Example Results")
?䪶?(6)

Он принимает любую букву K и заменяет ее на мои случайно сгенерированные символы Юникода. Теперь проблема в моем коде состоит в том, что он выполняет то, что я ему сказал, есть ли лучший способ заставить его специально выбирать букву k, которую я хотеть? Если это так, что будет лучшим способом сделать это с регулярным выражением, которое не разрушает каждый случай. Пример результата, который я хочу получить:

#[O] - Ken - [O]
def fun(k):
    print(f'Hopefully it doesn't replace each letter k: {k}')


fun("nope")
...