【问题标题】:Resolving TypeError str doesn't support the buffer API解决 TypeError str 不支持缓冲区 API
【发布时间】:2015-03-16 18:38:07
【问题描述】:

我正在尝试使用以下代码进行字符串匹配,但遇到了 TypeError:Type str 不支持缓冲区 API。如何解决?

 file = open("C:\\Users\\sagars\\Desktop\\newips.json", "rb")
 i = 0
 y = "No information available for that IP"
 for line in file:
     z = line
     print (z)
     if y in z:
         print ("Cannot parse")
     else:
         print ("Can Parse!")

【问题讨论】:

  • 您能否发布完整的回溯错误而不是您的消息摘要?
  • Traceback(最近一次调用最后一次):文件“C:/Users/sagars/PycharmProjects/ShodanJSONReturns/ShodanParserNewAPI.py”,第 28 行,在 中如果 y in z: TypeError: Type str不支持缓冲区 API
  • @SagarSamtani:你可以和我们一起剪切输入文件或给我发电子邮件 vivekbsable@gmail.com 因为我无法复制问题。另外,不要使用 Python 解释器已经定义的变量名。在您的代码中file

标签: python


【解决方案1】:

您正在将文件作为二进制文件('rb' 而不是 'r')读取,这可能会搞砸它。这段代码 sn-p 更地道一点:

with open('C:\\Users\\sagars\\Desktop\\newips.json', 'r') as f:
    line = f.readline()
    if y in line:
        print ("Cannot parse")
    else:
        print ("Can Parse!")

【讨论】:

    猜你喜欢
    • 2015-07-26
    • 2011-07-25
    • 1970-01-01
    • 1970-01-01
    • 2014-08-09
    • 2023-03-10
    相关资源
    最近更新 更多