Python中的数据类型转换举例及脚本统计服务器内存实例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中的数据类型转换举例及脚本统计服务器内存实例相关的知识,希望对你有一定的参考价值。

统计系统剩余的内存

In [1]: s1 = ‘abc‘

In [2]: help(s1.startswith)

Help on built-in function startswith:

startswith(...)

S.startswith(prefix[, start[, end]]) -> bool

Return True if S starts with the specified prefix, False otherwise.

With optional start, test S beginning at that position.

With optional end, stop comparing S at that position.

prefix can also be a tuple of strings to try.

(END)

cat /proc/meminfo

#!/usr/bin/python

with open(‘/proc/meminfo‘) as fd:

    for line in fd:

        if line.startswith(‘MemTotal:‘):

            total = line.split()[1]

            continue

        if line.startswith(‘MemFree:‘):

            free = line.split()[1]

            break

print "%.2f" % (int(free)/1024.0)+‘M‘

数据类型转换计算(计算mac地址)

10进制转换成16进制:

In [9]: hex(10)

Out[9]: ‘0xa‘

16进制转换成10进制:

In [8]: int(‘0xa‘,16)

Out[8]: 10

In [7]: int(‘aa‘,16)

Out[7]: 170

纯数字的字符串转换成10进制:

In [10]: int(‘10‘)

Out[10]: 10

10进制转换成字符串:

In [11]: str(10)

Out[11]: ‘10‘

举例:

原有服务器mac:02:42:0e:31:98:0b,写脚本生成下一个网卡的mac,自动加1。

#!/usr/bin/python

macaddr = ‘02:42:0e:31:98:0b‘

prefix_mac = macaddr[:-3]

last_two = macaddr[-2:]

plus_one = int(last_two,16)+1

if plus_one in range(10):

    new_last_two = hex(plus_one)[2:]

    new_last_two = ‘0‘ + new_last_two

else:

    new_last_two = hex(plus_one)[2:]

if len(new_last_two) == 1:

    new_last_two = ‘0‘ +new_last_two

new_mac = prefix_mac + ‘:‘ + new_last_two

print new_mac.upper()

数据类型转换(列表与字典相互转换)

查看帮助join()

Help on built-in function join:

join(...)

S.join(iterable) -> string

Return a string which is the concatenation of the strings in the

iterable.  The separator between elements is S.

(END)

字符串转列表:list(string)

In [36]: a = list(‘aaa‘)

In [37]: type(a)

Out[37]: list

In [38]: a

Out[38]: [‘a‘, ‘a‘, ‘a‘]

列表转字符串:‘‘‘.join(list)

In [38]: a

Out[38]: [‘a‘, ‘a‘, ‘a‘]

In [39]:l = a

In [18]: l

Out[18]: [‘a‘, ‘a‘, ‘a‘]

In [19]: ‘‘.join(l)

Out[19]: ‘aaa‘

In [20]: ‘,‘.join(l)

Out[20]: ‘a,a,a‘

In [21]: ‘.‘.join(l)

Out[21]: ‘a.a.a‘

In [22]: a= ‘a‘

In [23]: help(a.join)

字符串转元组:tuple(string)

In [24]: s

Out[24]: [‘a‘, ‘a‘, ‘a‘]

In [26]: tuple(s)

Out[26]: (‘a‘, ‘a‘, ‘a‘)

元组转字符串:‘‘.join(tuple)

In [54]: type(a)

Out[54]: tuple

In [55]: a = str(a)

In [56]: a

Out[56]: "(‘a‘, ‘b‘, ‘c‘, 111)"

In [57]: type(a)

Out[57]: str

字典转列表:

In [28]: dic = ‘a‘:1,‘b‘:2

In [29]: dic

Out[29]: ‘a‘: 1, ‘b‘: 2

In [30]: dic.items()

Out[30]: [(‘a‘, 1), (‘b‘, 2)]

列表转字典:

In [31]: l1 = dic.items()

In [32]: l1

Out[32]: [(‘a‘, 1), (‘b‘, 2)]

In [33]: type(l1)

Out[33]: list

In [34]: dict(l1)

Out[34]: ‘a‘: 1, ‘b‘: 2

以上是关于Python中的数据类型转换举例及脚本统计服务器内存实例的主要内容,如果未能解决你的问题,请参考以下文章

Python中的运算符数据类型字符串及列表操作举例

系统学Python整数浮点数布尔值及类型转换

Python基础之模块数据类型及数据类型转换

Python中的类方法及属性总结举例,编写memcached启动脚本举例

Python中的字典及举例

数据类型转换及描述统计