ошибка string.split?питон - PullRequest
       3

ошибка string.split?питон

1 голос
/ 11 февраля 2011
a = string.split("Test Test2 Test3"," ")

Возвращает ошибку:

Message File Name   Line    Position    
Traceback               
    <module>    C:\pyWiz.py 43      
AttributeError: 'module' object has no attribute 'split'                

Да, я импортировал строковый модуль. Почему это происходит?

Ответы [ 5 ]

6 голосов
/ 11 февраля 2011

Использование:

a = 'Test Test2 Test3'.split(' ')

(т. Е. split метод типа str).string.split устарела в 2.x и пропала в 3.x.

2 голосов
/ 11 февраля 2011

string - это модуль, пока вы искали объект класса / типа str.Я бы порекомендовал сделать это, хотя:

a = "Test Test2 Test3".split()
1 голос
/ 11 февраля 2011

почему не просто "Test Test2 Test3".split()?

0 голосов
/ 11 февраля 2011
>>> a = 'jetpack ferret pizza lawyer'.split()
>>> a
['jetpack', 'ferret', 'pizza', 'lawyer']

>>> b = 'jetpack ferret pizza lawyer'
>>> b.split()
['jetpack', 'ferret', 'pizza', 'lawyer']
>>> b
'jetpack ferret pizza lawyer'

>>> c = """very   
looooooooooooooooooooooong string      with trailing random whitespace    """
>>> c = c.split()
>>> c
['very', 'looooooooooooooooooooooong', 'string', 'with', 'trailing', 'random', 'whitespace']

>>> d = 'dog;_cat;_fish;_'.split(';_')
>>> d
['dog', 'cat', 'fish', '']

Следует отметить, что в большинстве случаев вам не нужно указывать разделитель (который может состоять из нескольких символов).

Если мы упростим, отсутствие аргументов для функции split избавит вас от всех пробелов (т. Е. Пробелов, табуляции, новых строк, возвратов), и это предпочтительное поведение для работы с вводом из файла, оболочки и т. Д., И также, в частности, в наиболее распространенном использовании этой идиомы: жесткое кодирование списка строк с сохранением некоторого раздражающего ввода запятых и кавычек.

Также помните, что вы получите пустые строки в своем списке, если:

  • строка ввода заканчивается или начинается с одного или нескольких символов, которые вы определили как разделитель (см. Мой последний пример)

  • есть несколько разделителей между группами символов, которые вы хотите получить

0 голосов
/ 11 февраля 2011
a = "Test Test2 Test3".split(" ")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...