python - 将字节数据列表转换为字符串
问题描述
请建议一种将字节列表转换为字符串列表或任何方法的方法,以便我可以将 resp 数据读取为字符串,我尝试使用 decode 但它不支持以下错误 -
类“列表”的未解析属性引用“解码”
resp = [b'\r\x1b[2K\x1b[39m[00479650ms][INFO][MBED_DC]: dc_func:230 Waiting \r\n',
b'\x1b[0m\r\n', b'AT+BOOTARG=TRACE=ON\r\r\n']
解决方案
解码它:
resp = [b'\r\x1b[2K\x1b[39m[00479650ms][INFO][MBED_DC]: dc_func:230 Waiting \r\n',
b'\x1b[0m\r\n', b'AT+BOOTARG=TRACE=ON\r\r\n']
decode_list = []
for item in resp:
decode_list.append(item.decode("utf-8"))
时间比较:
exp1 = """
resp = [b'item1',b'item2']
new_list = []
for item in resp:
new_list.append(item.decode("utf-8"))
"""
exp2 = """
resp = [b'item1',b'item2']
new_list = [item.decode("utf-8") for item in resp]
"""
exp3 = """
resp = [b'item1',b'item2']
resp_dec = list(map(lambda x: x.decode("utf-8"), resp))
"""
timeit(exp1, number=1000)
timeit(exp2, number=1000)
timeit(exp3, number=1000)
exp3 虽然速度较慢,但似乎更“优雅”。
输出:
exp1 --> 0.0002586000000000116
exp2 --> 0.00029969999999999997
exp3 --> 0.0004574999999999996
推荐阅读
- javascript - 我可以在 Qualtrics 调查中使用 javascript 捕获验证错误吗?
- c# - 使用 LINQ 将整数列表映射到 MinMax 范围列表
- c++ - 这个 FFT 平滑器如何在 c++/openframeworks 中工作?
- ionic-framework - 在 Ionic 中将 ical 提要添加到本机日历
- php - Laravel 文件系统重启
- android - Android JNI - 如何从共享对象导入函数
- ios - Swift 4 - 如何在 pod 类中导入 AppDelegate
- php - 在 Woocommerce 的特定产品单页中隐藏相关产品
- javascript - 为什么fancybox幻灯片停止了?
- ruby-on-rails - 保持 Rails 服务器运行的 Cron 作业