2020-03-22

目前自己能理解的一些简单的Python脚本,理解不是自己写的脚本确实有点困难.

这个是把nginx的日志的内容作为输入源,经过筛选,展示最近访问nginx的前10位的IP,但是我这里只有三台实验机器。。。所以,只有三个柱子


#!/usr/bin/env python3

# -*- coding: utf-8 -*-

# @Time    : 2020/3/22

# @Author  : TRIPPAL

# @Site    :

# @File    : nginx10.py

# @Software: PyCharm

import matplotlib.pyplot as plt

#

nginx_file = 'nginx.log'

ip = {}

# 筛选nginx日志文件中的ip

with open(nginx_file) as f:

    for i in f.readlines():

        s = i.strip().split()[0]

        lengh = len(ip.keys())

        # 统计每个ip的访问量以字典存储

        if s in ip.keys():

            ip[s] = ip[s] + 1

        else:

            ip[s] = 1

#以ip出现的次数排序返回对象为list

ip = sorted(ip.items(), key=lambda e:e[1], reverse=True)

#取列表前十

newip = ip[0:10:1]

tu = dict(newip)

x = []

y = []

for k in tu:

    x.append(k)

    y.append(tu[k])

plt.title('ip access')

plt.xlabel('ip address')

plt.ylabel('PV')

#x轴项的翻转角度

plt.xticks(rotation=0)

#显示每个柱状图的值

for a,b in zip(x,y):

    plt.text(a, b, '%.0f' % b, ha='center', va= 'bottom',fontsize=9)

plt.bar(x,y)

plt.legend()

plt.show()





Python脚本2

调用Python的一个库IPy

根据你在脚本里写的子网网段,计算该网段内一共多少个主机地址,并且展示所有IP地址

这个太简单了,一看就明白



Python脚本3

判断一个目录是否存在。。。好吧这个其实没必要,我用shell也能写出来



脚本4

#!/usr/bin/env python3

#-*- coding:utf-8 -*-

#@Time: 2020/3/22 10:46

#@Author: trippal

#@Site: shenzhen

#@File: mendisk.py

#Software:PyCharm

import psutil

def memcheck():

    print('the information of memory :')

    mem = psutil.virtual_menmory()

    memtotal = mem.total/1024/1024

    memused = mem.used/1024/1024

    membaifen = str(men.used/mem.total*100)+'%'

    print('%.2fMB' % memused)

    print('%.2fMB' % memtotal)

    print(membaifen)

def diskcheck():

    print('the information of disk :')

    disk = psutil.disk_partitions()

    diskuse = psutil.disk_usage('/')

    diskused = diskuse.used/1024/1024/1024

    disktotal = diskuse.total/1024/1024/1024

    diskbaifen = diskused/disktotal*100

    print('%.2fGB' % diskused)

    print('%.2fGB' % disktotal)

    print('%.2f'% diskbaifen)

memcheck()

print('>>>>>>>>>>>>>>>>>>>>>>>>>>')

diskcheck()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • ▲就业班和全程班的小伙伴看这里:(学习老王视频的作业第13-14节) 1、简述osi七层模型和TCP/IP五层模型...
    一心1977阅读 368评论 0 0
  • 今天是本周学习的最后一天,我们新学习了如何使用字符和运用变量使两个值互换,在加上之前的学习可以进行更高级的程序编写...
    虚怀若谷_7cd8阅读 361评论 0 0
  • Privacy Policy Sun Jiabin built the 时间记录薄 app as an Ad Su...
    _sun1993阅读 252评论 1 0
  • 1 #include int main() { char a; scanf("%c",&a); if(a>=48&...
    weir_b7c5阅读 144评论 0 0
  • 逢年过节总盼着能早点回家,那种归心似箭的心情,没有漂泊过的人根本无法体会! 1. 十二月的某一天里,接到家人嘘寒问...
    简臻若梦阅读 519评论 2 5

友情链接更多精彩内容