统计系统剩余的内存、数据类型转换计算(计算mac地址)、数据类型转换(列表与字典相互转换)

简介:

统计系统剩余的内存

1、思路
首先对文件遍历;判断当有MemFree这一行开头的,执行下面的语句,line.split()[1]默认以空格为分隔符,取1列的值;最后取2位小数点

统计系统剩余的内存、数据类型转换计算(计算mac地址)、数据类型转换(列表与字典相互转换)

计算:
统计系统剩余的内存、数据类型转换计算(计算mac地址)、数据类型转换(列表与字典相互转换)

统计系统剩余的内存、数据类型转换计算(计算mac地址)、数据类型转换(列表与字典相互转换)

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

需要:有时候我们要把不同的数据类型做一起计算,这时就需要把两个不同的数据类型转换为同种数据类型,否则不同的数据类型不能做计算,比如,字符串之间是不能做加减乘除运算的,必须转化为数值才可以做运算
1、字符串转换为列表

In [1]: s = 'abc'

In [2]: list(s)
Out[2]: ['a', 'b', 'c']

In [3]: str1='ABCDEF'

In [4]: list(str1)
Out[4]: ['A', 'B', 'C', 'D', 'E', 'F']

2、字符串转换为元组

In [5]: tuple(str1)
Out[5]: ('A', 'B', 'C', 'D', 'E', 'F')

3、元组又转换为字符串

In [7]: t
Out[7]: ('A', 'B', 'C', 'D', 'E', 'F')

In [8]: ''.join(t)
Out[8]: 'ABCDEF'

4、列表转换为字符串

In [12]: l
Out[12]: ['A', 'B', 'C', 'D', 'E', 'F']

In [13]: ''.join(l)
Out[13]: 'ABCDEF'

5、元组转换为列表

In [14]: t
Out[14]: ('A', 'B', 'C', 'D', 'E', 'F')

In [15]: list(t)
Out[15]: ['A', 'B', 'C', 'D', 'E', 'F']

6、列表转换为元组

In [16]: l
Out[16]: ['A', 'B', 'C', 'D', 'E', 'F']

In [17]: tuple(l)
Out[17]: ('A', 'B', 'C', 'D', 'E', 'F')

7、字典转换为列表

In [18]: dict1={'name':'jack','age':'11'}

In [19]: dict1.items()
Out[19]: [('age', '11'), ('name', 'jack')]

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

相关文章
|
9月前
|
Web App开发 安全 iOS开发
基于PyCharm与Mac系统的Chrome历史记录清理工具开发实战
《基于PyCharm与Mac系统的Chrome历史记录清理工具开发实战》详细解析了如何在macOS下通过Python脚本自动化清理Chrome浏览器的历史记录。文章以`clear_chrome_history.py`为例,结合PyCharm开发环境,深入讲解技术实现。内容涵盖进程检测、文件清理、虚拟环境配置及断点调试技巧,并提供安全增强与跨平台适配建议。该工具不仅保障个人隐私,还适用于自动化运维场景,具备较高实用价值。
300 0
|
iOS开发 MacOS
【Mac系统】解决Vscode中LeetCode插件不能刷剑指offer题库
文章讨论了解决Mac系统中Vscode里LeetCode插件无法刷剑指Offer题库的问题,并提供了一些相关的使用技巧和资源链接。
864 1
|
关系型数据库 MySQL 数据库
【Mac os系统】安装MySQL数据库
本文详细介绍了在Mac OS系统上安装MySQL数据库的步骤,包括下载、安装、配置环境变量、启动服务、授权设置以及解决常见问题,并提供了一些常用的MySQL命令。
1543 0
【Mac os系统】安装MySQL数据库
|
UED
「Mac畅玩鸿蒙与硬件52」UI互动应用篇29 - 模拟火车票查询系统
本篇教程将实现一个模拟火车票查询系统,通过输入条件筛选车次信息,并展示动态筛选结果,学习事件处理、状态管理和界面展示的综合开发技巧。
350 13
「Mac畅玩鸿蒙与硬件52」UI互动应用篇29 - 模拟火车票查询系统
|
JavaScript 前端开发 物联网
「Mac畅玩鸿蒙与硬件1」鸿蒙开发环境配置篇1 - 认识鸿蒙系统与开发工具
本篇将介绍鸿蒙操作系统(HarmonyOS)的基本概念以及在 Mac 环境下进行鸿蒙开发所需的工具。通过了解鸿蒙系统和开发工具的特点,为后续的学习和实践奠定基础。
983 1
「Mac畅玩鸿蒙与硬件1」鸿蒙开发环境配置篇1 - 认识鸿蒙系统与开发工具
|
Java Shell 应用服务中间件
Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件
这篇文章介绍了如何在Mac系统下配置Java JDK、Maven和Tomcat的环境变量,包括配置文件的选择、解决环境变量在zsh shell中无效的问题、查看和设置系统环境变量的方法,以及JDK和Maven的下载、配置和测试步骤。
5939 1
Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件
【科研技巧】Mac系统如何给Endnote 20安装GB/T中文文献格式以及利用Endnote在Word中插入参考文献
在Mac系统下给Endnote 20安装GB/T中文文献格式的步骤以及如何利用Endnote在Word中插入符合GB/T格式的参考文献。
1399 5
【科研技巧】Mac系统如何给Endnote 20安装GB/T中文文献格式以及利用Endnote在Word中插入参考文献
|
数据采集 中间件 关系型数据库
Mac系统通过brew安装mysql5.7后,启动报错的解决办法
Mac系统通过brew安装mysql5.7后,启动报错的解决办法
1059 2
mac系统使用NTFS移动硬盘只读问题
mac系统使用NTFS移动硬盘只读问题
312 4
|
TensorFlow 算法框架/工具 Python
【Mac 系统】解决VSCode用Conda成功安装TensorFlow但程序报错显示红色波浪线Unable to import ‘tensorflow‘ pylint(import-error)
本文解决在Mac系统上使用VSCode时遇到的TensorFlow无法导入问题,原因是Python解析器未正确设置为Conda环境下的版本。通过在VSCode左下角选择正确的Python解析器,即可解决import TensorFlow时报错和显示红色波浪线的问题。
821 9