【问题标题】:string.split error? pythonstring.split 错误? Python
【发布时间】:2017-09-06 01:25:31
【问题描述】:
a = string.split("Test Test2 Test3"," ")

这会返回一个错误:

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

是的,我导入了字符串模块。 为什么会这样?

【问题讨论】:

  • 你用的是什么版本的 Python?
  • 适用于我的 Python 2.7。但是你也可以使用字符串方法。

标签: python string


【解决方案1】:

用途:

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

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

【讨论】:

    【解决方案2】:

    string 是一个模块,而您正在寻找类/类型对象 str。不过我建议这样做:

    a = "Test Test2 Test3".split()
    

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 我想这行得通,但这不是我习惯的。它在 2.x 中运行良好
      • @Patrick Moriarty:以前没问题,但在当前的 Python 中,您不再需要导入字符串了。
      【解决方案4】:
      a = "Test Test2 Test3".split(" ")
      

      【讨论】:

        【解决方案5】:
        >>> 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 等的输入的首选行为,并且还特别是在这个习语的最常见用法中:硬编码字符串列表,省去一些烦人的逗号和引号输入。

        另外请注意,如果出现以下情况,您的列表中会出现空字符串:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-04-26
          • 1970-01-01
          • 1970-01-01
          • 2014-08-26
          • 1970-01-01
          相关资源
          最近更新 更多