天天看點

統計系統剩餘的記憶體、資料類型轉換計算(計算mac位址)、資料類型轉換(清單與字典互相轉換)

1、思路

首先對檔案周遊;判斷當有MemFree這一行開頭的,執行下面的語句,line.split()[1]預設以空格為分隔符,取1列的值;最後取2位小數點

統計系統剩餘的記憶體、資料類型轉換計算(計算mac位址)、資料類型轉換(清單與字典互相轉換)

計算:

統計系統剩餘的記憶體、資料類型轉換計算(計算mac位址)、資料類型轉換(清單與字典互相轉換)
統計系統剩餘的記憶體、資料類型轉換計算(計算mac位址)、資料類型轉換(清單與字典互相轉換)

需要:<code>有時候我們要把不同的資料類型做一起計算,這時就需要把兩個不同的資料類型轉換為同種資料類型,否則不同的資料類型不能做計算,比如,字元串之間是不能做加減乘除運算的,必須轉化為數值才可以做運算</code>

1、字元串轉換為清單

2、字元串轉換為元組

3、元組又轉換為字元串

4、清單轉換為字元串

5、元組轉換為清單

6、清單轉換為元組

7、字典轉換為清單

8、列出目錄

In [29]: import os

Out[29]: 

['efi',

'grub2',

'grub',

'.vmlinuz-3.10.0-693.el7.x86_64.hmac']

9、16進制轉化為十進制

In [29]: int('a', 16)

Out[29]: 10

In [30]: int('ab', 16)

Out[30]: 171

10進制轉化為16進制

In [37]: hex(123)

Out[37]: '0x7b'

10、清單轉化為字典

In [34]: list1 = [('a', 1), ('b', 2)]

In [35]: dict(list1)

Out[35]: {'a': 1, 'b': 2}

#比如mac='00:0c:29:ba:27:23',下一位就是'00:0c:29:ba:27:24'

macaddr='00:0c:29:ba:27:ab'

prefix_max=macaddr[:-3] #00:0c:29:ba:27

last_two=macaddr[-2:] #23

plus_one=int(last_two,16) + 1 #将16進制轉化為10進制

if plus_one in range(10): #如果0~9的數

new_last_two=hex(plus_one)[2:] #将10進制轉化為16進制

new_last_two='0'+new_last_two #當plus_one=0~9時,可以前面加上0:,符合mac規範

else: #如果10以上的數,比如hex(12)='0xc'

new_last_two=hex(plus_one)[2:] #取[2:],就是c

if len(new_last_two) == 1: #len(c)=1,前面加上0;0c,否則就不加

new_last_two='0'+new_last_two

new_mac=prefix_max+':'+new_last_two

print new_mac.upper()

本文轉自 jiekegz  51CTO部落格,原文連結:http://blog.51cto.com/jacksoner/2056007

繼續閱讀