python小例子

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)

  

原文地址:https://www.cnblogs.com/lin1/p/8146059.html