1.python怎样获得当前系统的CPU频率和内存使用情况

2.如何基于Python构建一个可扩展的运维自动化平台

3.python模拟用户登录系统,如何两个用户输入各自的密码才能登入?

python怎样获得当前系统的CPU频率和内存使用情况

python制作系统-如何用python设计电脑系统

如果想自己写程序来实现的话,可以参考它们的源码。

top/free都是在procps包中(apt-get source procps)。

找到cpus_refresh()函数,你可以看到它是怎样从/proc/stat解析出CPU的使用率的。meminfo()函数则展示了如何从/proc/meminfo解析出内存的使用率(这个文件自己解析也很简单)。

如何基于Python构建一个可扩展的运维自动化平台

Django- 一个开放源代码的 Web 应用框架,由 Python 写成,用了 MVC 的软件设计模式;

rpyc- 一个 Python 实现的 RPC 和分布式计算的工具。支持同步和异步操作、回调等;

saltstack 、 ansible 、 func - 基本 Python 开发的自动化配置管理与流程控制组件;

Mysql- 是一个非常流行的关系型数据库管理系统。

二、平台架构设计

1、 OMServer 架构图

大家对这个架构应该不会感到陌生,三层结构也是目前主流的运营平台架构。

2、 架构说明

OMServer 平台为三层架构,分别为 WEB 交互层、分布式计算层、集群管理服务层。

1) 、第一层:即为 WEB 交互层,典型的 B/S 架构,以供管理员操作的交互平台,也是 OMServer 的核心,基于 Django 开发;

2) 、第二层:分布式计算层,提供与主控端的连接通道,用的是 rpyc 传输协议,协议操作流程:前端模块参数 -> 加密传输 -> 任务执行 -> 返回结果集 -> 解密输出。

3) 、第三层:集群管理服务层,整合 Python 主流的远程操作组件(支持 Saltstack 、 Anaible、 Func ),对被控端(业务服务器集群)进行管理,其中主控端可以根据不同 IDC 环境,用多地多点的管理方式,可提升冗余度及执行效率。主控端操作模块以不同 Python 文件加以区分,便于维护,可灵活定制操作逻辑及横向扩展等特点。

python模拟用户登录系统,如何两个用户输入各自的密码才能登入?

users = {'root': ['123', False], 'westos': ['456', False]}

while True:

if all([x[1] for x in users.values()]):

print('two users login successfully')

break

user = input('input user name:\t')

if not users.get(user):

print('unexist user')

continue

else:

for i in range(3):

pw = input('input password:\t')

if users[user][0] == pw:

print(f'user `{user}` login successfully')

users[user][1] = True

break

用一个字典存储username,pw以及登录状态. 10行判断是否两个人登录状态都为True,如果是,则打印并退出while. 否则13行输入username,如果name不存在,while continue; 如果存在, 进入else,输入密码,密码对则打印并修改状态.超过3次退出for进入while.