IP地址字符串提取在Python3中不起作用

爱德华·库姆

尝试从Python3中的“ ifconfig”命令提取IP地址时,出现以下错误:

ip = ip_string.strip()。split(“”)[1:]中的文件“ testingCode.py”,第28行,类型错误:需要一个类似字节的对象,而不是'str'

我不确定是什么错误,因为代码可以在Python2中使用,但是当我切换到Python3时,会出现此错误。我试图将.strip()命令切换为.decode(),程序运行,但未找到任何输出,因为找不到ifconfig的IP地址。任何解决方案将不胜感激。

裂纹

您的问题是这样的事实,当您在进程中执行某些操作时,通信通常以字节为单位。因此,类型ip_string是字节,而不是字符串。尝试ip = ip_string.decode("utf-8").strip().split(" ")[1]它从字节创建一个字符串,并将其与substring拆分" "如果您出于某些原因而拥有wnatip字节数,则可以使用ip = ip_string.decode("utf-8").strip().split(" ")[1].encode("utf-8")这将返回您的字节,但我不建议这样做,因为__getitem__字节和字符串的工作原理不同。例如"Hello"[0],不是H,其字节数为H

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章