Как принимать необработанные специальные символы в функции? - PullRequest
0 голосов
/ 09 марта 2012

У меня есть функция, которая запрашивает разделитель. Это может быть \ т. Тем не менее, это рассматривается как реальная вкладка. Так что, если у меня есть этот код

def example(dataToBeSplit, delimiter):
    return dataToBeSplit.split(delimiter)
example('some\ttext','\t')

Исходные данные для примера: example('some\ttext',' ')

Как я могу предотвратить превращение \ t в настоящую вкладку, не передавая \\ t функции?

* если я поставлю четыре фактических пробела, они будут отфильтрованы, так что смотрите - четыре пробела - как четыре реальных пробела


редактирование:

Ладно, из ответа Зефчу я теперь делаю

def example(dataToBeSplit, delimiter):
    return dataToBeSplit.split(repr(delimiter))
example('some\ttext','\t')

Но все же интересно, нет ли способа сделать это в

def example(dataToBeSplit, delimiter):

часть

Ответы [ 2 ]

2 голосов
/ 09 марта 2012

Если вы хотите увидеть строку в том виде, в котором она может быть принята python, используйте repr ():

>>> print repr('some\ttext')
'some\ttext'
0 голосов
/ 09 марта 2012

Пользовательский строковый литерал r:

example('some\ttext',r'\t')
...