Цель: Удалить '\x' из строки.
'\x'
split(), strip() и replace() все выдают одинаковую ошибку.
split()
strip()
replace()
Кто-нибудь может мне помочь?
my_list = '\x00\x06\x00' my_list.replace('\x', '') ValueError: invalid \x escape
Строковый литерал по умолчанию в Python рассматривает обратную косую черту как escape-символ.
Чтобы буквально интерпретировать обратную косую черту, используйте r'my string with \x in it', поэтому попробуйте:
r'my string with \x in it'
my_list.replace(r'\x', '')
https://docs.python.org/3/reference/lexical_analysis.html#string-and-bytes-literals
Что именно делают строковые флаги "u" и "r" и что такое необработанные строковые литералы?
Вам нужно поставить r перед '\x' в replace(), а также строку. Это скажет Python, что \ следует интерпретировать как символ, а не как escape-символ.
r
\
my_list = r'\x00\x06\x00' my_list.replace(r'\x', '')