我正在写一个脚本,读取二进制形式的子网并将其转换为十进制。脚本需要输出以句点分隔的十进制结果(即输出如下:255.255.255.0
)。你知道吗
我试图使用sep ="."
来用句点分隔打印,但是,这似乎不起作用。我怀疑这可能是因为它每次都打印单独的输出,而不是将一个完整的语句连接在一起。我尝试过end= "."
,但这不是一个选项,因为它会在输出的末尾添加一个额外的句点。你知道吗
下面是脚本的一个片段:
sub1 = "1111 1111.1111 1111.1111 1111.0000 0000"
octets = [sub1[0:9], sub1[10:19], sub1[20:29], sub1[30:39]]
for conversion in octets:
print(int((conversion).replace(" ",""), 2), sep=".")
如何使打印输出与句点分开?你知道吗
如果IPv4地址以“01”字符串中的点/空格分隔的二进制数字给出:
然后,您可以轻松地将ip作为Python中的对象:
要只获取
255.255.255.0
,只需打印它。此代码将断言输入是有效的。你知道吗如果您不需要验证输入,也不需要对其执行任何操作,只需打印它,那么简单的字符串操作就足够了:
替换所有空格一次,拆分
'.'
上的字符串以创建列表,然后在转换八位字节后使用.join
重建字符串:首先将八位字节转换为十进制,再将它们转换回字符串,然后使用
'.'.join()
连接字符串相关问题 更多 >
编程相关推荐