2015-06-01 4 views
-4

Вопрос: после использования метода .split(), как python знает, с чего начать раскол?с использованием метода .split

Например, если я только что открыл txt-файл с использованием python, и я решил использовать метод разделения строк следующим образом;

user = line.split(':')[0] 
John: hhwoeioawn: 802:0933:Iama John:/home/John:/bin/sh 

Как вы можете видеть, (":") встречается более чем один раз.

+3

Итак, что вы попробовали и разделили? Вы должны быть немного яснее; что вы пытаетесь сделать *, какой результат вы ожидали? Вы видели, что существует метод 'str.rsplit()'? И что вы можете передать второй аргумент любому методу, который ограничивает частоту разделения? –

+1

«Как python знает, с чего начать раскол»: каждый раз, когда он видит ':', он знает, что, возможно, неплохо было бы разделиться прямо там и идти вперед. – bereal

+0

благодарю вас за ваш быстрый ответ, я предполагаю, что по умолчанию интерпретатор python автоматически выбирает первое вхождение аргумента, помещенного внутри этой функции. – pc0mrade

ответ

1

Как уже было сказано, вопрос не совсем ясен. Глядя на ваш код, кажется, что вы хотите, только первое слово, возвращенное split, в этом случае, вы можете также использовать что-то вроде:

user = line[:line.index(":")] 

С наилучшими пожеланиями.

+3

Нет, вы должны использовать 'line.split (':', 1)' или использовать 'line.partition (':')'; последнее немного быстрее. –

+0

Этот сайт потрясающий !!!! – pc0mrade

Смежные вопросы