>> > import struct >> > int_ip = 123456789 >> > ip = socket . inet_ntoa ( struct . pack ( 'I' , socket . htonl ( int_ip ) ) ) #int to ip address '7.91.205.21' >> > socket . ntohl ( struct . unpack ( "I" , socket . inet_aton ( str ( ip ) ) ) [ 0 ] ) #ip address to int 123456789L

其实这是进制数的转换,我们可以自己写代码

遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! # 整数to IP地址格式 >> > def ch1 ( num ) : s = [ ] for i in range ( 4 ) : s . append ( str ( num % 256 ) ) num /= 256 return '.' . join ( s [ : : - 1 ] ) >> > ch1 ( 123456789 ) '7.91.205.21'

用lambda的方式,整数toIP 地址 一行代码搞定

>>> ch2 = lambda x: '.'.join([str(x/(256**i)%256) for i in range(3,-1,-1)])
>>> ch2(123456789)
'7.91.205.21'

用lambda的方式,IP地址转换到整数

>>> ch3 = lambda x:sum([256**j*int(i) for j,i in enumerate(x.split('.')[::-1])])
>>> ch3('7.91.205.21')
123456789
原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成
一个整数。
举例:一个ip地址为10.0.3.193
每段数字             相对应的二进制数
10                   00001010
0                     00000000
3                    00000011
193                  1
				
Python IP地址整数整数IP地址IP地址整数代码:[root@ops-ip-statistic]# cat iptonum.py #!/usr/bin/env python import sys ip=sys.argv[1]
[steven@txzxp2 test]$ python Python 2.7.5 (default, Jul  8 2013, 09:48:59)  [GCC 4.8.1 20130603 (Red Hat 4.8.1-1)] on linux2 Type "help", "copyright", "credits" or "license" for more information.
1. strip 函数接受参数,可删除两边的字符,例如 strip('0b') 0和b是或的关系。在代码中使用了lstrip 是因为bin函数进行转换成二进制数字时会自动添加0b 2. zfill的功能是将字符串右对齐,前面用0补齐。 3. 代码中调用的方法对于参数有要求是字符串或是整型的,这点需要注意转换 代码实现: def integerToIP(integer): bi = "0"*(32-len(bi))+bi # 8个一组算出每8个数字的十进制,然后再加“,”分隔 ret_ip_string = '.'.join(list(map(lambda x:str(int(x,2)),re.findall(r'.{8}',bi)))) # 打印ip字符串 大家应该都有所体会,对于字符串型的IP存入数据库中,实在是个即浪费空间又浪费性能的家伙,所以可爱的人们想出来将IP转换为整型存储。MySQL中存在INET_ATON() 、INET_NTOA()函数进行IP整型和字符串之间的转换,那么Python中存在什么方法可以实现MySQL中INET_ATON() 、INET_NTOA()的功能呢?方法肯定是有的~ # 导入相关模块包 import socket import struct # 将IP从字符串转为整型 >>> int(socket.inet_aton('127.0.0.1').encode('hex'),16) 21307
原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个整数。 举例:一个ip地址为10.0.3.193 每段数字             相对应的二进制数 10                            00001010
# 数字 ==> ip # 数字范围[0, 255^4] >>> num2ip = lambda x: '.'.join([str(x/(256**i)%256) for i in range(3,-1,-1)]) >>> num2ip(3232235521) '192.168.0.1' # ip ==> 数字 注意:IP可能超过int需要用无符号整型,并且牛客的判题系统while中的scanf必须要不等于EOF不然会出错。 #include <cstdio> #include <iostream> #include <cstring> using namespace std; int main(){ unsigned int...
总结的很全面的日志使用,写得赞,博主用心了。 此国产日志 https://nb-log-doc.readthedocs.io/zh-cn/latest/articles/c1.html 使用原生 loggng封装,兼容性和替换性100%,只需要一行代码大幅简化logging的使用。 1、日志能根据级别能够自动变彩色。 2、print自动变彩色。 3、日志和print在pycahrm控制台的输出都自动可以点击跳转到文件和行号。 4、多进程日志切割安全,文件日志写入性能高 。 5、入参简单,能一键自动记录到多种地方。 6、 nb_log 兼容包含loguru色彩模式,loguru只是nb_log的子集之一. 相比 loguru 有10胜。 pip install nb_log 。 python教程:读取.dcm文件,并转化为.jpg格式 NAhahahahaha: 这个代码可以显示dicom文件里的图像吗 Python复制文件的9个方法 清韵凌波: 参考链接:https://zhuanlan.zhihu.com/p/35725217 python下载文件的三种方法 OTZ_2333: https://blog.csdn.net/zzc15806/article/details/79636417 18年的这篇文章说python3已经将urlretrieve()移到urllib.request下,你这篇23年的文章还在用urllib.urlretrieve,质量太差了