TypeError: 'str' does not support the buffer interface
我还在尝试学习Python.我已经对这个错误进行了一些挖掘,但是我发现的每个例子都与发送或接收数据有关,并且有很多我不熟悉的术语.一个解决方案说使用.split(b’|’),但是这会以某种方式将我的字符串变成一个字节并阻止我在最后一行打印它.
以下是我的代码.您将提供的任何帮助将不胜感激!
with urllib.request.urlopen('ftp://ftp.nasdaqTrader.com/SymbolDirectory/nasdaqTraded.txt') as response: HTML = response.read()rawStockList = HTML.splitlines()stockList = []for i in rawStockList: stockInfo = i.split('|') try: stockList.append(Stock(stockInfo[1],stockInfo[2],stockInfo[5],stockInfo[10],0)) except IndexError: passprint([str(item) for item in stockList])解决方法 rawStockList中的项实际上是byte类型,因为response.read()返回它,因为它不需要知道编码.您需要通过使用编码对其进行解码将其转换为正确的字符串.假设文件是用utf8编码的,你需要这样的东西:
for i in rawStockList: stockInfo = i.decode('utf8').split('|')总结
以上是内存溢出为你收集整理的试图在Python 3中拆分字符串,得到’str’不支持缓冲区接口全部内容,希望文章能够帮你解决试图在Python 3中拆分字符串,得到’str’不支持缓冲区接口所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)