当前位置: 首页 > news >正文

带注册登录的网站模板linux新建网站

带注册登录的网站模板,linux新建网站,网站内容过滤,html基本标签这篇文章是之前几篇的一个小综合。也是通过收集主机的一些参数信息#xff0c;熟悉python里的文件读取#xff0c;字符切割#xff0c;字典存储等知识。文章结构#xff1a;(1) 文章目的#xff0c;需要收集的信息#xff0c;并逐个分析如何获取信息。(2) 给出实现的pyth…这篇文章是之前几篇的一个小综合。也是通过收集主机的一些参数信息熟悉python里的文件读取字符切割字典存储等知识。文章结构(1) 文章目的需要收集的信息并逐个分析如何获取信息。(2) 给出实现的python 脚本。(3) 总结。1. 目的用python 脚本实现收集主机信息(1)主机名(hostname).当然了在命令行下直接使用hostname 命令就可以直接输出本机的hostname了。但是我们现在用python 一般是用读取文件的方式获取信息。主机的hostname 在/etc/sysconfig/network 文件里。(2)ip地址.要求收集第一块网卡的信息网名ip地址。在ifconfig命令的输出里获取信息。前面有一篇博客已经介绍过具体的方法。(3)操作系统版本osver.在/etc/issue 文件里有系统操作版本号的信息:我们只需要将第一行的信息取出来就可以了。(4)服务器厂商(vender)、服务器型号(product)和服务器序列号(sn).前面有一篇介绍收集dmidecode 信息的博客园已经具体分析过。(5)cpu型号(cpu_model)和cpu核数(cpu_num).在/proc/cpuinfo 文件里可以获取一般是一个process 就是一个cpu 核所以通过统计process 字段就可以统计cpu 核数了。cpu型号就是cpu model 了。如下做实验的机器只有一个cpu 核数所以process 字段就只有一个字段。通常cpu型号model name只需统计型号和主频。(6)内存大小.在/proc/meminfo 文件的MemTotal 就是内存的大小统计的时候按实际将单位转换一下就可以了。2. 实现方法先对ip 信息和dmidecode 信息进行处理因为这两个信息在前面的博客都已经实现过了比较容易。首先就是读取ifconfig 和 dmidecode 命令的输出然后分割保存成一个列表再对列表进行分析。它们俩的分析过程基本一样就一起给出#!/usr/bin/env  pythonfile name: collect_info_a.pyfrom  subprocess  import  Popen, PIPEdef  getIfconfig():p  Popen([ifconfig], stdoutPIPE, stderrPIPE)data  p.stdout.read()return datadef  getDmi():p  Popen([dmidecode], stdoutPIPE, stderrPIPE)data  p.stdout.read()return data从getIfconfig() 和getDmi() 函数返回的都是一个字符串。下面再定义一个parseData(data) 的函数将字符串分割成一个列表每遇到顶格的行就是新的一段信息.def  parseData(data):parsed_data  []new_line  data  [i for i in data.split(\n)  if i] #将字符串分割去掉空行的元素for  line  in data:if  line[0].strip():  #当遇到顶格的行就把new_line 保存的上一段信息append 到parsed_lineparsed_data.append(new_line)new_line  line\n  #重新保存新的一段的信息else:new_line  line\nparsed_data.append(new_line)return [i for i in parsed_data if i]  #去掉空行的元素parseData(data) 函数返回的就是一个处理过的列表将收集到的ip 字符串信息和 dmidecode 字符串信息交给下面定义的parseIfconfig() 和parseDmi() 函数分别处理返回ip 信息的字典和dmidecode 信息的字典。def  parseIfconfig(parsed_data):parsed_data  [i for parsed_data if i and  not i.startswith(lo)]  #将lo 网卡的信息去掉dic  {}for lines in parsed_data:devname  lines.split(\n)[0].split()[0]macaddr  lines.split(\n)[0].split()[-1]ipaddr   lines.split(\n)[1].split()[1].split(:)[1]break   #由于只需要第一张网卡的信息所以这里就可以退出循环了dic[ip]  ipaddrreturn dicdef  parseDmi(parsed_data):dic  {}parsed_data  [i for i in parsed_data if  i.startswith(System Information)] #把这段信息直接整出来parsed_data  [i for i in parsed_data[0].split(\n)[1:] if i ]parsed_data  [i.strip().split(:) for i in parsed_data if i]dmi_dic  dict(parsed_data)dic  {}dic[vender]  dmi_dic[Manufacturer].strip()dic[product]  dmi_dic[Product Name].strip()dic[sn]   dmi_dic[Serial Number].strip()return dicgetHostName: 函数fn : 文件名参数功能 通过fn 传入文件名读取HOSTNAME 信息def getHostName(fn):with open(fn) as fd:for line in fd:if line.startswith(HOSTNAME):HostName  line.split()[1].strip()breakreturn {HostName: HostName}getOSver: 函数fn : 文件名参数功能 打开fn 文件读取操作系统版本信息def  getOSver(fn):with open(fn) as fd:for line in fd:osver  line.strip()breakreturn {osver: osver}getCpu: 函数fn : 文件名参数功能 读取fn 文件信息读取cpu 核数和cpu 型号def getCpu(fn):num  0dic  {}with open(fn) as fd:for line in fd:if line.startswith(processor):num  1if line.startswith(model name):model_name  line.split(:)[1]model_name  model_name.split()[0]     model_name.split()[-1]dic[cpu_num]  numdic[cpu_model]  model_namereturn dicgetMemory: 函数fn : 文件名参数功能 打开fn 文件读取系统MemTotal 数值def  getMemory(fn):with open(fn) as fd:for line in fd:if line.startswith(MemTotal):mem  int(line.split()[1].strip())breakmem  %s % int((mem/1024.0)) Mreturn {Memory: mem}if  __name__  __main__:data_ip  getIfconfig()parsed_data_ip  parseData(data_ip)ip  parseIfconfig(parsed_data_ip)data_dmi  getDmi()parsed_data_dmi  parseData(data_dmi)dmi  prseDmi(parsed_data_dmi)HostName  getHostName(/etc/sysconfig/network)osver  getOSver(/etc/issue)cpu  getCpu(/proc/cpuinfo)mem  getMemory(/proc/meminfo)dic  {} #定义空字典上面收集到的主机信息都是字典形式的就是为了现在能将它们update 在一个字典dic.update(ip)dic.update(dmi)dic.update(HostName)dic.update(osver)dic.update(cpu)dic.update(mem)print dic测试一下结果在字典里保存了文章开头列出所需的9个主机信息。3. 总结还是熟悉读取文件的方法 对字符切割对列表的操作等等。如果需要读取其他的主机信息再增加函数就可以了。
http://www.huolong8.cn/news/368727/

相关文章:

  • 华为网站建设的目标是否明确三种WordPress引流方法
  • 设计网站推荐素材网站嘉定网站设计制作优化排名
  • 常见cms网站源码下载WordPress的好处
  • 做平面设计在什么网站能挣钱做网站图片的大小
  • 免费网站现在是怎么了fevr wordpress
  • wordpress 教 模版seo项目培训
  • 安徽 网站开发网站建设唯特和凡科哪个好
  • 专注营销型网站建设公司 做网站整站优化案例
  • 河南单位网站建设网页设计结果分析怎么写
  • 科技制作网站开发一套小程序多少钱
  • 验证码平台 wordpressseo文章代写一篇多少钱
  • 做公司网站有什么猫腻vultr宝塔wordpress
  • 网站版建设网络营销与直播电商专业介绍
  • 山西网络网站建设销售公司个人网站模板打包下载
  • 免费 个人 网站桂平网站设计
  • 建设公司网站都需要什么万网网站空间服务范围及费用
  • seo常用工具网站wordpress 数据字典
  • 地方门户网站的分类网上接活的平台有哪些
  • 营销网站 app开发千灯做网站
  • 做的网站没有注册制作一个网站流程
  • 建设电子商务网站背景app开发公司杰迅科技怎么样
  • 网站设计培训班创业国家域名注册服务网
  • 做购物网站的费用西安做网站哪里好
  • 微信建设网站襄阳做网站公司
  • 优惠建网站网店美工岗位职责
  • 网站建设案例模板公司网站怎么发布文章
  • visual studio 开发网站开发网站开发 自我评价
  • 动漫做h免费网站响水县住房和城乡建设局网站
  • 哪个网站做废旧好移动互联网开发好就业吗
  • wordpress k2网站优化培训