1,统计系统剩余内存。
2,根据已有的MAC地址,写成比上一个MAC地址大1的MAC地址。
1,统计系统剩余内存(Linux为例)
#!/usr/bin/env python #-*- coding:utf-8 -*- with open(‘/proc/meminfo‘) as f: for line in f.xreadlines(): if line.startswith(‘MemTotal‘): total = int(line.split()[1]) total/=1024.0 continue if line.startswith(‘MemFree‘): free = int(line.split()[1]) free/=1024.0 break print ‘机器总共内存%.2fM‘ %(total) print ‘剩余内存共%.2fM‘ %(free) print ‘剩余内存占用百分比为%.2f‘ %(free/total)
2,根据已有的MAC地址,写成比上一个MAC地址大1的MAC地址。
#!/usr/bin/env python #-*- coding:utf-8 -*- macaddr = ‘00:16:3D:00:30:AD‘ #获取mac地址最后一段 end = macaddr[-2:] #将16进制转换为10进制 n = int(end,16) #在10进制数值的基础上加1 n = n + 1 #将新生产的10进制的数字转换为16进制,16进制以0x开头,所以要去掉。 new_end = hex(n).strip(‘0x‘) #判断new_end的长度。因为如果最后一段是01这样小于10的16进制,则意味着我新生成的16进制去掉0x之后会只有1位数字,这样写入MAC地址中是少一位的。 if len(new_end)<2: new_end = ‘0‘ + new_end new_macaddr = macaddr[:-2] + new_end.upper() print new_macaddr
上个问题主要要弄清楚16进制和10进制的转换就没问题。
1,将16 进制转换为10进制 int(‘a‘,16) int(‘0xa‘,16) 0x是16进制的前置标识 2,将10进制转换为16进制 hex(10)