【问题标题】:expected buffer object error on string.translate - python 2.6string.translate 上的预期缓冲区对象错误 - python 2.6
【发布时间】:2011-10-23 13:14:18
【问题描述】:

非常感谢对 python 新手的帮助,我正在尝试从字符串中删除一些字符,例如:

string1 = "100.000"
deleteList = [",", "."]
string1.translate(None, deleteList)

 print string1

但我得到了TypeError: expected a character buffer object

为什么会出现此错误,它指的是哪个参数?我在哪里可以找到这方面的帮助。 我在 Windows 上使用 python 2.6。

【问题讨论】:

    标签: python string translate


    【解决方案1】:

    你得到的错误是你的deleteList 变量,它应该是一个字符串。如果您确实需要将字符存储在列表中,可以这样做:

    string1.translate(None, ''.join(deleteList))
    

    【讨论】:

      【解决方案2】:

      docs for string.translate

      S.translate(table [,deletechars]) -> string
      

      这表明deletechars 应该是一个字符串,而不是一个字符列表:

      string1 = "100.000"
      string1=string1.translate(None, ',.')
      print (string1)
      # 100000
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-05-30
        • 1970-01-01
        • 2019-02-27
        • 2011-12-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多