Я работал над решателем анаграмм в Python 2.7 и натолкнулся на любопытство, которому я не смог найти объяснения. Программа читает из файла, который содержит список анаграмм в следующем формате:
# anagram
# anagram
# anagram
.
.
.
etc
Читая это непосредственно в строку, Python, очевидно, все комментирует, поэтому я играл с replace (), пытаясь найти способ вырезать хеш-символы. Попытка ...
string = file.read().replace('#', '')
... выдаст пустую строку. Я попытался использовать обратную косую черту перед хешем, но тупой и опечатал переднюю косую черту, которая дала мне результат:
string = file.read().replace('/#', '')
string = '#\tanagram\n#\tanagram\n#\tanagram'
Удаление лишних символов в этот момент было несложным делом, и программа работает отлично. Тем не менее, я не доволен использованием строки кода, которую я не до конца понимаю. Мне не очень повезло найти какую-либо документацию или код, который объясняет / делает нас чем-то вроде этого, поэтому я либо ищу не в том месте, либо ищу не то.
Может ли кто-нибудь объяснить, почему он так себя ведет?