字节数组转换为图片_每日一课 | Python 3 TypeError:无法将“字节”对象隐式转换为str...

bbc0c7de4cb5471cd1c60e6fff483281.gif

将Python 2套接字示例转换为Python 3

whois.py 

import sysimport socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("whois.arin.net", 43))
s.send((sys.argv[1] + "\r\n").encode())
response = ""while True:
    data = s.recv(4096)
    response += dataif not data:break
s.close()
print(response)

如果使用Python 3进行编译,是否会提示以下错误? 

Traceback (most recent call last):File "C:\repos\hc\whois\python\whois.py", line 12, in <module>
    response += data
TypeError: Can't convert 'bytes' object to str implicitly

在Python 3中,套接字以bytesbytes返回数据(在Python 2中为string)。由于响应是一个string,因此您不能直接添加两种不同的类型( bytes + string)。要修复它 ,您需要转换类型:#Solution 1将响应从string to bytes转换string to byteswhois.py 

import sysimport socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("whois.arin.net", 43))
s.send((sys.argv[1] + "\r\n").encode())#Convert response to bytes
response = b""# or use encode()#response = "".encode()while True:
    data = s.recv(4096)
    response += dataif not data:break
s.close()
print(response.decode())

#Solution 2将数据从bytes to string转换bytes to stringwhois.py 

import sysimport socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("whois.arin.net", 43))
s.send((sys.argv[1] + "\r\n").encode())
response = ""while True:
    data = s.recv(4096)#convert data from bytes to string#response += data
    response += data.decode()if not data:break
s.close()
print(response)

参考文献:

  1. Python 3内置类型
  2. Python Whois客户端示例
翻译自: https://mkyong.com/python/python-3-typeerror-cant-convert-bytes-object-to-str-implicitly/

推荐阅读--

我司空降了一名专家后,一半程序员疯了...

程序员长假相亲图鉴(文末惊喜)

每日一课 | Python –如何在函数中使用全局变量

每日一课 | Python将文件读入列表

每日一课 | 如何将String转换为int

89c9689a-fc2f-eb11-8da9-e4434bdf6706.svg

球分享

8ac9689a-fc2f-eb11-8da9-e4434bdf6706.svg

球点赞

3cb2d6277844827dcee04dd7185ffade.gif

球在看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/457868.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php版redis插件,SSDB数据库,增强型的Redis管理api实例

php版redis插件,SSDB数据库,增强型的Redis管理api实例 SSDB是一套基于LevelDB存储引擎的非关系型数据库&#xff08;NOSQL&#xff09;&#xff0c;可用于取代Redis&#xff0c;更适合海量数据的存储。另外&#xff0c;rocksdb是FB在LevelDB的二次开发版本&#xff0c;因此也存…

加速度计和陀螺仪数据融合

本帖翻译自 IMU&#xff08;加速度计和陀螺仪设备&#xff09;在嵌入式应用中使用的指南。这篇文章主要介绍加速度计和陀螺仪的数学模型和基本算法&#xff0c;以及如何融合这两者&#xff0c;侧重算法、思想的讨论介绍本指南旨在向兴趣者介绍惯性MEMS&#xff08;微机电系统&a…

循环嵌套练习题

//BOSS://让用户输入一个奇数&#xff0c;打印菱形&#xff0c;最长的行内容个数为用户输入的个数&#xff0c;并且由英文字母拼接而成//比如用户输入了7// A// ABA// ABCBA// ABCDCBA// ABCBA// ABA// A//1、接收并判断用户输入的是不是数字 try{#region 解法一…

python leetcode_leetcode 介绍和 python 数据结构与算法学习资料

for &#xff08;刚入门的编程&#xff09;的高中 or 大学生leetcode 介绍leetcode 可以说是 cs 最核心的一门“课程”了&#xff0c;虽然不是大学开设的&#xff0c;但基本上每一个现代的高水平的程序员都修过这门“课程”&#xff08;或者类似的课程&#xff0c;比如数据结构…

平衡小车卡尔曼滤波算法

最近研究STM32的自平衡小车&#xff0c;发现有两座必过的大山&#xff0c;一为卡尔曼滤波&#xff0c;二为PID算法。 网上看了很多关于卡尔曼滤波的代码&#xff0c;感觉写得真不咋地。一怒之下&#xff0c;自己重写&#xff0c;不废话&#xff0c;贴代码 [pre lang"C&quo…

IOS 为UILabel添加长按复制功能

IOS 为UILabel添加长按复制功能 在iOS中下面三个控件&#xff0c;自身就有复制-粘贴的功能&#xff1a; 1、UITextView 2、UITextField 3、UIWebView UIKit framework提供了几个类和协议方便我们在自己的应用程序中实现剪贴板的功能。 1、UIPasteboard&#xff1a;我们可以向其…

navicat 的查询功能

navicat的查询的位置在&#xff1a; 在编辑器界面写代码&#xff0c;代码完成后点左上角的运行。 代码&#xff1a; create&#xff08;创建&#xff09; table&#xff08;一个表&#xff09; <xxx>尖括号内的内容必填——我要创建并查询一个名叫做xxx的表 &#xff08…

c++ sleep函数_Linux 多线程应用中如何编写安全的信号处理函数

关于代码的可重入性&#xff0c;设计开发人员一般只考虑到线程安全&#xff0c;异步信号处理函数的安全却往往被忽略。本文首先介绍如何编写安全的异步信号处理函数&#xff1b;然后举例说明在多线程应用中如何构建模型让异步信号在指定的线程中以同步的方式处理。Linux 多线程…

css特殊情况

如果一个父级div和一个子级div&#xff0c;要给父级div加&#xff08;opacity&#xff09;透明度那子级div也会继承父级元素的透明度。那给父级元素加透明度就不用opacity加透明度&#xff0c;使用background:rgba(120,120,120,0.7);实现效果&#xff0c;r,g,b分别代表红&#…

CoreAnimation (CALayer 动画)

CoreAnimation基本介绍&#xff1a; CoreAnimation动画位于iOS框架的Media层CoreAnimation动画实现需要添加QuartzCore.FrameworkCoreAnimation基本上是LayerAnimationCoreAnimation分类&#xff1a; CoreAnimation作用&#xff1a; CoreAnimation CALayer基本介绍 CALayer的常…

汇编为什么分段执行总是执行不了_iOS汇编教程(六)CPU 指令重排与内存屏障...

系列文章iOS 汇编入门教程(一)ARM64 汇编基础iOS 汇编入门教程(二)在 Xcode 工程中嵌入汇编代码iOS 汇编入门教程(三)汇编中的 Section 与数据存取iOS 汇编教程(四)基于 LLDB 动态调试快速分析系统函数的实现iOS 汇编教程(五)Objc Block 的内存布局和汇编表示前言具有 ARM 体系…

GD32 使用stm32 固件库

1、 系统 1) 晶振起振区别 描述&#xff1a;启动时间&#xff0c;GD32 与STM32 启动时间都是2ms&#xff0c;实际上GD 的执行效率快&#xff0c;所以ST 的HSE_STARTUP_TIMEOUT ((uint16_t)0x0500)是2ms&#xff0c;但是这个宏定义值在GD 上时间就更加短了&#xff0c;所以要加大…

干将莫邪

干将莫邪也为凡铁铸成&#xff0c;只是善加锻造、融入心神&#xff0c;而成上古神兵。宝剑从来都是双刃&#xff0c;正邪之道&#xff0c;存乎一心。

js反混淆还原工具_SATURN反混淆框架

本文为看雪论坛精华文章看雪论坛作者ID&#xff1a;梦野间摘要&#xff1a;近几年&#xff0c;软件的混淆强度一直在不断提升。基于编译器的混淆已经成为业界事实上的标准&#xff0c;最近的一些论文也表明软件的保护方式使用的是编译器级别的混淆。在这篇文章中&#xff0c;我…

android 弹起键盘把ui顶上去的解决办法

键盘输入框上面的ui布局必须为Relative相对布局。然后设置 <activityandroid:name".activity.HomeActivity"Android:windowSoftInputMode"adjustPan|stateHidden"></activity>转载于:https://www.cnblogs.com/zhaoleigege/p/5925831.html

python 多线程并发_寻找python大神!!!python如何多线程并发?

不是大神。尝试回答一下。 首先解释下什么叫做线程&#xff0c;什么叫做进程&#xff0c;在解释这两个概念前&#xff0c;我们还需要明白什么叫做GIL全局解释器锁。GIL 全局解释器锁&#xff1a; GIL(全局解释器锁&#xff0c;GIL 只有cpython有)&#xff1a;在同一个时刻&…

Nginx/Apache发大招

导读网站程序的上传目录通常是不需要PHP执行解释权限&#xff0c;通过限制目录的PHP执行权限可以提网站的安全性&#xff0c;减少被攻击的机率。下面和大家一起分享下如何在Apache和Nginx禁止上传目录里PHP的执行权限。 Apache下禁止指定目录运行PHP脚本在虚拟主机配置文件中增…

第二轮冲刺-Runner站立会议08

今天完成的内容&#xff1a;简单的做了一下主界面的美化和日历界面的美化 遇到的问题&#xff1a;美化按钮还不能自己自定义按钮 如何解决&#xff1a;暂无思路 明天将要进行的内容&#xff1a;调试bug 转载于:https://www.cnblogs.com/Againzg/p/5544301.html

STM32串口通信中使用printf发送数据配置方法 开发环境 Keil

STM32串口通信中使用printf发送数据配置方法(开发环境 Keil RVMDK) 已有 12456 次阅读2011-6-29 23:29 | 在STM32串口通信程序中使用printf发送数据&#xff0c;非常的方便。可在刚开始使用的时候总是遇到问题&#xff0c;常见的是硬件访真时无法进入main主函数&#xff0c;其实…

dmp文件查看表空间_innoDb文件

一&#xff0e;文件总体概述InnoDb文件主要有以下文件1. 参数文件&#xff1a;启动需要的各种参数作2. 日志文件&#xff1a;记录mysql实例某种条件做出的响应而写入的文件&#xff0c;如错误日志、二进制日志、慢查询日志、查询日志等3. Socket文件&#xff1a;连接需要的文件…