Python获取电脑信息

2023-10-30

我做了一个Python获取电脑信息的程序,小部分代码是网上找的,

本来想把这个做成一个坑人小程序的 到后面没有灵感了

有想法的可以帮我做一下 私聊发代码给我

代码(pycharm运行通过)

# -*- coding: utf-8 -*-
import wmi
import sys
import time
import os
import platform
import socket
import uuid
# 获取主机名
hostname = socket.gethostname()
ip = socket.gethostbyname(hostname)


class Hardware:
    @staticmethod
    def get_cpu_sn():
        """
        获取CPU序列号
        :return: CPU序列号
        """
        c = wmi.WMI()
        for cpu in c.Win32_Processor():
            # print(cpu.ProcessorId.strip())
            return cpu.ProcessorId.strip()

    @staticmethod
    def get_baseboard_sn():
        """
        获取主板序列号
        :return: 主板序列号
        """
        c = wmi.WMI()
        for board_id in c.Win32_BaseBoard():
            # print(board_id.SerialNumber)
            return board_id.SerialNumber

    @staticmethod
    def get_bios_sn():
        """
        获取BIOS序列号
        :return: BIOS序列号
        """
        c = wmi.WMI()
        for bios_id in c.Win32_BIOS():
            # print(bios_id.SerialNumber.strip)
            return bios_id.SerialNumber.strip()

    @staticmethod
    def get_disk_sn():
        """
        获取硬盘序列号
        :return: 硬盘序列号列表
        """
        c = wmi.WMI()

        disk_sn_list = []
        for physical_disk in c.Win32_DiskDrive():
            # print(physical_disk.SerialNumber)
            # print(physical_disk.SerialNumber.replace(" ", ""))
            disk_sn_list.append(physical_disk.SerialNumber.replace(" ", ""))
        return disk_sn_list

def start(cishu):
    print("加载中.")
    print("▏")
    time.sleep(0.2)
    os.system("cls")
    print("加载中..")
    print("▎")
    time.sleep(0.2)
    os.system("cls")
    print("加载中...")
    print("▍")
    time.sleep(0.2)
    os.system("cls")
    print("加载中....")
    print("▋")
    time.sleep(0.2)
    os.system("cls")
    print("加载中.....")
    print("▊")
    time.sleep(0.2)
    os.system("cls")
    print("加载中......")
    print("▉")
    time.sleep(0.2)
    os.system("cls")
    print("加载中")
    print("▉▏")
    time.sleep(0.2)
    os.system("cls")
    print("加载中.")
    print("▉▎")
    time.sleep(0.2)
    os.system("cls")
    print("加载中..")
    print("▉▍")
    time.sleep(0.2)
    os.system("cls")
    print("加载中...")
    print("▉▌")
    time.sleep(0.2)
    os.system("cls")
    print("加载中....")
    print("▉▋")
    time.sleep(0.2)
    os.system("cls")
    print("加载中.....")
    print("▉▊")
    time.sleep(0.2)
    os.system("cls")
    print("加载中......")
    print("▉▉")
    time.sleep(0.2)
    os.system("cls")
    print("加载中.")
    print("▉▉▏")
    time.sleep(0.2)
    os.system("cls")
    print("加载中..")
    print("▉▉▎")
    time.sleep(0.2)
    os.system("cls")
    print("加载中...")
    print("▉▉▍")
    time.sleep(0.2)
    os.system("cls")
    print("加载中....")
    print("▉▉▌")
    time.sleep(0.2)
    os.system("cls")
    print("加载中.....")
    print("▉▉▋")
    time.sleep(0.2)
    os.system("cls")
    print("加载中......")
    print("▉▉▊")
    time.sleep(0.2)
    os.system("cls")
    print("加载中.")
    print("▉▉▉▏")
    time.sleep(0.2)
    os.system("cls")
    print("加载中..")
    print("▉▉▉▎")
    time.sleep(0.2)
    os.system("cls")
    print("加载中...")
    print("▉▉▉▍")
    time.sleep(0.2)
    os.system("cls")
    print("加载中...")
    print("▉▉▉▌")
    time.sleep(0.2)
    os.system("cls")
    print("加载中....")
    print("▉▉▉▋")
    time.sleep(0.2)
    os.system("cls")
    print("加载中....")
    print("▉▉▉▋")
    time.sleep(0.2)
    os.system("cls")
    print("加载中.....")
    print("▉▉▉▊")
    time.sleep(0.2)
    os.system("cls")
    print("加载中......")
    print("▉▉▉▉")
    time.sleep(0.2)
    os.system("cls")

def get_mac_address():
  mac=uuid.UUID(int = uuid.getnode()).hex[-12:]
  return ":".join([mac[e:e+2] for e in range(0,11,2)])

if __name__ == '__main__':
    start(5)
    print()
    print("正在获取电脑信息...")
    time.sleep(2)
    print("已成功!")
    time.sleep(0.5)
    if sys.platform=="win32":
        print("操作系统:Windows")
        time.sleep(0.5)
    if sys.platform=="darwin":
        print("操作系统:mac")
        time.sleep(0.5)
    print("CPU序列号:{}".format(Hardware.get_cpu_sn()))
    time.sleep(0.5)
    print("主板序列号:{}".format(Hardware.get_baseboard_sn()))
    time.sleep(0.5)
    print("Bios序列号:{}".format(Hardware.get_bios_sn()))
    time.sleep(0.5)
    print("硬盘序列号:{}".format(Hardware.get_disk_sn()))
    time.sleep(0.5)
    print("操作系统:",platform.architecture())
    time.sleep(0.5)
    print("机器类型:",platform.machine())
    time.sleep(0.5)
    print("网络名称:",platform.node())
    time.sleep(0.5)
    print("处理器名称:",end="")
    print(platform.processor())
    time.sleep(0.5)
    print("主机名:",hostname)
    time.sleep(0.5)
    print("电脑ip:",ip)
    time.sleep(0.5)
    print("Mac地址:",get_mac_address())

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python获取电脑信息 的相关文章

随机推荐

  • 基于YOLOv5+Hough变换的目标检测和车道线检测

    这学期做的一个大作业 实现了对行驶过程中车辆 行人以及车道线的检测 1 B站视频演示 2 Github仓库链接 文章目录 一 实现效果 二 环境配置 三 基于YOLOv5的目标检测 四 基于Hough变换的车道线检测 4 1 前置工作 Ca
  • 鸿蒙3部曲先看哪部,“隋唐三部曲”“鸿蒙三部曲”“斗罗四部曲”谁才是网文巅峰之作...

    原标题 隋唐三部曲 鸿蒙三部曲 斗罗四部曲 谁才是网文巅峰之作 从网络小说诞生的那一刻起 续集就是一个绕不过去的话题 如同电视剧一样 一部网络小说红了之后 它的原作者很多时候会忍不住开发它的续集 形成一个系列 然后再现网文界 小编今天就给大
  • java开发转测试开发经历

    1 背景 我从毕业一直做java开发已经两年半了 到目前为止也挺喜欢开发的 2 为什么想转行 想转行是由多方面考虑的 一 我的开发技能没达标 只能找到外包里的开发工作 二 开发前景对女生不够友好 难以获得认可 个人感受 至于第一点其实也可以
  • 减少数据打拍翻转的低功耗设计方法

    在流水设计中 时常会遇到对某一路数据打多拍从而对齐另一路数据的场景 而除了最后一拍是真正需要的 中间的打拍从功耗上来看是有点浪费的 举个例子 对8bit in data打4拍 总共需要用到4个8bit寄存器 常规打拍方法传输4个数据 D0
  • android 屏幕适配--------解决方案

    以下是Demo首页的预览图 demo下载 http www eoeandroid com forum php mod attachment aid NjE0Njh8ZTIyZDA2M2N8MTMzODgyOTQxN3w1NzAwOTV8MT
  • Spring Boot实现QQ邮件发送,用户注册功能——前后端分离版

    1 准备工作 我们需要前往我们的QQ邮箱开启相关功能 登录QQ邮箱后 点击进入 设置 在账户在一栏中 我们可以找到这个界面 然后点击开启 POP3 SMTP服务 他们会让我们用QQ的密保手机发送一条短信 我们照着即可 验证成功之后 会获得一
  • ISP记1

    目录 0 参考 1 噪声分类 1 1 空间区域 1 1 1 高斯噪声 1 1 2 瑞利噪声 1 1 3 伽马噪声 1 1 4 均匀分布噪声 1 1 5 泊松噪声 1 1 6 加性噪声 乘性噪声 0 参考 数字图像滤波算法的研究及应用 倪层敏
  • anaconda+pytorch安装说明

    第一步 anconda的安装 大家可以参考以下博文 写的比较简约 看起来比较清爽 https blog csdn net ITLearnHall article details 81708148 Anacond的介绍 Anaconda指的是
  • chisel线网(wire)和寄存器(reg)详解(更新)

    主体内容摘自 https blog csdn net qq 34291505 article details 87714172 在Verilog里 模块内部主要有 线网 wire 和 四态变量 reg 两种硬件类型 它们用于描述数字电路的组
  • QVariant的使用

    在有些情况下 我们希望把数据存储在一个变量中 例如 我有一个数组 既希望存整数 又希望存浮点数 还希望存string 想了一个方法 创建一个object类 这是一个很大的类 里面几乎包含了所有类型的数据 如下 class Object pu
  • Java合并两个有序数组

    合并排序 将两个已经排序的数组合并成一个数组 其中一个数组能容下两个数组的所有元素 public class MergeArray public MergeArray public static ArrayList
  • 【APB协议详解】

    APB协议详解 APB Advanced Peripheral Bus 作为高级外设总线是AMBA协议之一 也是最基本的总线协议 按照ARM官方定义 APB是一种低成本的接口协议 可以实现低功耗以及精简的接口设计 降低接口设计的复杂度 AP
  • adb操作提示Read-only file system问题

    Android adb调试时 经常会遇到权限问题 failed for system lib libmm test so Read only file system 即使Root设备 在向 system等系统文件夹操作时 比如push rm
  • Shell基础—正则表达式(通配符、模式表达式)详解【附例】

    Shell基础 正则表达式 正则表达式是一种可以用于模式匹配和替换的工具 通过正则表达式 Shell可以使用一系列的特殊字符构建匹配模式 然后将匹配模式与待比较字符串或文件进行比较 根据比较对象中是否包含匹配模式 执行相应的程序 1 通配符
  • 【环境搭建】Notepad++显示16十六进制编码

    环境搭建 Notepad 显示16十六进制编码 by 041 打开插件 gt 插件管理 找到HEX Editor 安装 重启Notepad 选择插件 gt HEX Editor gt View in HEX 即可显示16进制文件
  • ubuntu18.04使用Mysql指令

    前言 在使用Ubuntu中 对MySQL不熟悉 在实践中不断总结 不断更新 目录 前言 在使用Ubuntu中 对MySQL不熟悉 在实践中不断总结 不断更新 一 安装MySQL 1 更新 2 安装数据库 3 查看版本 二 sql语句 1 启
  • F - Tickets

    F Ticketshttps vjudge csgrandeur cn problem Gym 101911F 暴力 超时 时间复杂度 2 1e5 1e6 别忘了还有查询 include
  • TCP-服务器监听

    package main import fmt net func process conn net Conn 这里我们循环的接收客户端发送的数据 defer conn Close 关闭conn for 创建一个新的切片 buf make b
  • Java抽象类和接口

    一 抽象类 在面向对象的概念中 所有对象都是通过类来描绘的 但并不是所有类都是用来描绘对象的 如果一个类中没有足够的属性和行为来描绘一个完整具体的对象 Java 提供了一个语法 抽象类 例如我们需要一个描述形状的类 成员方法可以输出当前的形
  • Python获取电脑信息

    我做了一个Python获取电脑信息的程序 小部分代码是网上找的 本来想把这个做成一个坑人小程序的 到后面没有灵感了 有想法的可以帮我做一下 私聊发代码给我 代码 pycharm运行通过 coding utf 8 import wmi imp