python软件下载对电脑配置要求-python3批量统计用户电脑配置
最近领导想统计一下用户电脑配置信息。好几百人难道让我一个一个的去弄吗?
想想还是写个程序接收一下吧。
客户端
# -*- coding: utf-8 -*-
#author:Guoyabin
import socket,psutil,os,sys
class wininfo():
def ip_info(self):
hostname=socket.gethostname() #获取主机名
ipconfig=psutil.net_if_addrs().items() #所有网卡信息
try:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(('114.114.114.114', 80))
addre = s.getsockname()[0] #获取ip地址
finally:
s.close() #关闭socket连接
for k,v in ipconfig:
try:
if addre in v[1].address:
mac=v[0].address #获取mac地址
'''
gateway=addre.split('.')[0]+'.'+addre.split('.')[1]+'.'+addre.split('.')[2]+'.1' #获取网关
if '10.8.70' in addre: #特殊网关
gateway='10.8.70.2'
os.system("netsh interface ip set address name=%s source=static addr=%s mask=255.255.255.0 gateway=%s gwmetric=1" % (k,addre,gateway)) #设置网关
'''
os.system("netsh interface ip set dns name=%s source=static addr=114.114.114.114" % k) #设置dns
except:
pass
ip=str(hostname)+' '+addre+' '+mac
return(ip)
def mem_info(self):
mem_all=psutil.virtual_memory().total/1024/1024/1024 #获取内存大小
mem=round(mem_all) #取最接近整数的值
return(mem)
def cpu_info(self):
try:
name=os.popen('wmic cpu get name').readlines()
cpuname1=name[-4].replace(' ','')
cpuname=cpuname1.replace(' ','') #获取Windows CPU型号
except:
cpuname=' '
cpucount=psutil.cpu_count() #获取CPU核心
cpu=str(cpuname)+' '+str(cpucount)
return(cpu)
def disk_info(self):
sum=0
for i in psutil.disk_partitions():
try:
sum=sum+psutil.disk_usage(i.mountpoint).total #获取硬盘大小
except:
pass
disk=round(sum/1024/1024/1024) #取最接近整数的值
return(disk)
def getname(self):
name=input('请输入您的名字:')
return(name)
class linuxinfo(wininfo):
def getname(self):
name='name'
return(name)
def cpu_info(self):
cpuname1=os.popen("grep -m1 'model name' /proc/cpuinfo |awk -F ':' '{print $2}'").readlines()
cpuname2=cpuname1[-1].replace(' ','')
cpuname=cpuname2.replace(' ','') #获取Linux CPU型号
cpucount=psutil.cpu_count() #获取CPU核心
cpu=str(cpuname)+' '+str(cpucount)
return(cpu)
def ip_info(self):
hostname=socket.gethostname() #获取主机名
try:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(('114.114.114.114', 80))
addre = s.getsockname()[0] #获取ip地址
finally:
s.close() #关闭socket连接
ipconfig=psutil.net_if_addrs().items() #所有网卡信息
for k,v in ipconfig:
if addre in v[0].address:
mac=v[2].address #获取mac地址
ip=str(hostname)+' '+addre+' '+mac
return(ip)
if __name__=='__main__':
serverip = '192.168.8.50'
port = 9999
client=socket.socket()
client.connect((serverip,port))
if sys.platform=='win32':
send=wininfo()
else:
send=linuxinfo()
data = str(send.getname())+' '+str(send.ip_info())+' '+str(send.cpu_info())+' '+str(send.mem_info())+' '+str(send.disk_info())
#print(data)
client.sendall(bytes(data,encoding='utf-8'))
client.close()
服务端,我直接把'密码接收器'程序修改了一下
# -*- coding:utf-8 -*-
#author:Guoyabin
import socketserver
import time
class recvpasswd(socketserver.BaseRequestHandler):
def handle(self):
conn=self.request #封装所有对象请求
while True:
date=conn.recv(1024).decode()
if date=='exit':
break
if len(date)==0: #空数据则断开
break
#if '=>' not in date: #防止恶意数据写入
#break
print(date)
self.savepasswd(date)
def savepasswd(self,passwd):
now=time.strftime("%Y-%m-%d %H:%M:%S")
errfile=open('passwd.txt','a')
errfile.write(now+' '+str(passwd)+' ')
errfile.close()
if __name__=='__main__':
server=socketserver.ThreadingTCPServer(('0.0.0.0',9999),recvpasswd)
server.serve_forever()
最终服务端看到的结果就是:
而且会在服务端同级目录生成password.txt文档。和命令提示符里显示的一样
python软件下载对电脑配置要求-python3批量统计用户电脑配置相关推荐
- python需要电脑配置-python3批量统计用户电脑配置
最近领导想统计一下用户电脑配置信息.好几百人难道让我一个一个的去弄吗? 想想还是写个程序接收一下吧. 客户端 # -*- coding: utf-8 -*- #author:Guoyabin impo ...
- python软件下载安装百度网盘-Python3.8.0
Python3.8.0是一款广受程序员欢迎的编程语言,也是面向对象的一款设计语言,Python以其语言的灵活和简易性,具有非常简捷而清晰的语法特点,在脚本工具.数据分析.web后端等等领域都有着优良的 ...
- python软件如何安装方法_【新手必看】Python软件下载及安装教程
原标题:[新手必看]Python软件下载及安装教程 Python下载:免费开源 官网地址:https://www.python.org/downloads/ 下载对应版本Python:python-3 ...
- python软件下载网站
几个不错的python软件下载网站如下所示: https://www.lfd.uci.edu/~gohlke/pythonlibs/ https://pypi.org/project/
- python软件下载安装-【Python下载】Python安装 v3.8.1 官方版-七喜软件园
Python是一款通用型的计算机程序设计语言,本次为用户提供的软件就是该语言的运行环境以及基础的编程工具,在用户完成该程序的安装后,即可使用Python语言进行各种编程操作了,有需要的用户快来下载吧. ...
- python软件下载安装教程,如何下载和安装python
python下载安装教程 首先打开浏览器,百度搜索[python].出现搜索结果后,再进入下图所示的官网中.进入官网后,鼠标移至[download]再选择自己的系统.进入下载页面后,再选择python ...
- python软件下载安装教程,python详细安装教程视频
python安装教程 python安装教程具体如下:1.确定电脑的系统类型. 在安装python之前,你要先确定一下你的电脑的系统类型及详细配置,具体方法如下:点击桌面上的快捷图标"此电脑& ...
- python软件下载安装教程,python下载安装教程
python下载安装教程 python下载安装教程:自定义安装目录,点击install进行安装,打开cmd窗口,输入python,显示python的版本,安装成功. Python语言更适合初学者,Py ...
- python软件下载免费还是收费-开源等于免费吗?真相在这里
原标题:开源等于免费吗?真相在这里 首先,开源软件和免费软件是两个概念: 开源软件是指公开源代码的软件.开源软件在发行的时候会附上软件的源代码,并授权允许用户更改.传播或者二次开发. 免费软件就是免费 ...
最新文章
- 语言模型也不能乱说话!DeepMind发布GopherCite:讲话必须带证据
- mysql维护索引_高性能的MySQL(5)索引策略-索引和表的维护
- SAP Spartacus里几个和Focus相关的directive的继承关系以及元素focus是如何实现的
- 1030. 完美数列(25)
- 简单的Postman,还能玩出花?
- 源码编译php mysql_linux下apache+mysql+php开发环境纯源代码编译搭建(转)
- 编程心得体会_CimatronE14高级五轴第三步,平行于曲线铣,会3轴编程更易理解
- html email输入框,html5给文本框实现email域名自动完成效果
- Weblogic常用监控指标
- 手机信令数据怎么获得_手机信令数据辅助下的张江科学城职住分析及对策 | 上海城市规划...
- echarts设置之stack参数
- Atitit 快速开发的推荐技术标准化 规范 大原则
- (JavaScript)浮动广告代码
- 2022GPLT团体程序设计天梯赛L1-086 斯德哥尔摩火车上的题
- 如何使用逆分布函数模拟MEDIAN()聚合函数
- 大数据 就业 缺口_大数据就业前景广阔,大数据人才紧缺,岗位缺口大
- 如何做口碑营销?企业实施网络口碑营销的技巧
- HTB----Heist(Hard)
- 大数据实战二十四课 - Spark SQL04
- PADS如何将导入的板框2D线转换成板框
热门文章
- GridView上同时定义了 DataSource 和 DataSourceId
- php高强度精密涂覆钢管,电力内外涂覆钢管
- CMap的使用(转)
- python __globals__, __file__
- Leetcode OJ: Maximun Subarray
- AS3 Signals
- 在中國古代是沒有這種現象的
- 使用PowerDesinger 正向工程
- 因DataValueField设置不当引起的DropDownList的SelectedItem的取不到所选值的问题
- Bailian2702 密码翻译【密码】