string.split错误?蟒蛇

时间:2011-02-10 23:56:14

标签: python string

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 个答案:

答案 0 :(得分:6)

使用:

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

(即split类型的str方法)。 string.split在2.x中已弃用,并在3.x中消失。

答案 1 :(得分:2)

在您查找类/类型对象string时,

str是一个模块。我建议这样做:

a = "Test Test2 Test3".split()

答案 2 :(得分:1)

为什么不只是"Test Test2 Test3".split()

答案 3 :(得分:0)

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

答案 4 :(得分:0)

>>> 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函数提供任何参数可以摆脱所有空格(即空格,制表符,换行符,返回),这是处理来自文件,shell等的输入的首选行为,特别是在这个习语的最常见用途中:硬编码字符串列表,节省了一些令人讨厌的逗号和引号输入。

另请注意,如果符合以下条件,您的列表中会出现空字符串:

  • 输入字符串以您定义为分隔符的一个或多个字符结束或开始(请参阅我的上一个示例)

  • 您想要获得的字符组之间有多个分隔符