首页 > 编程语言 >五个python常用运维脚本

五个python常用运维脚本

时间:2024-09-18 09:51:14浏览次数:12  
标签:脚本 bin 运维 python random list num print input

一、用Python写一个列举当前目录以及所有子目录下的文件,并打印出绝对路径

#!/usr/bin/env python

import os

for root,dirs,files in os.walk('/tmp'):

    for name in files:

        print (os.path.join(root,name))

os.walk()

原型为:os.walk(top, topdown=True, one rror=None, followlinks=False)

我们一般只使用第一个参数。(topdown指明遍历的顺序)

该方法对于每个目录返回一个三元组,(dirpath, dirnames, filenames)。

第一个是路径,第二个是路径下面的目录,第三个是路径下面的非目录(对于windows来说也就是文件)


二、写程序打印三角形

#!/usr/bin/env python

input = int(raw_input('input number:'))

for i in range(input):

    for j in range(i):

        print '*',

    print '\n'


三、猜数器

程序随机生成一个个位数字,然后等待用户输入,输入数字和生成数字相同则视为成功。成功则打印三角形。失败则重新输入(提示:随机数函数:random)

#!/usr/bin/env python

import random

while True:

    input = int(raw_input('input number:'))

    random_num = random.randint(1, 10)

    print input,random_num

    if input == random_num:

        for i in range(input):

            for j in range(i):

                print '*',

            print '\n'

    else:

        print 'please input number again'


四、生成磁盘使用情况的日志文件

#!/usr/bin/env python

#!coding=utf-8

import time

import os

new_time = time.strftime('%Y-%m-%d')

disk_status = os.popen('df -h').readlines()

str1 = ''.join(disk_status)

f = file(new_time+'.log','w')

f.write('%s' % str1)

f.flush()

f.close()


五、统计出每个IP的访问量有多少?(从日志文件中查找)

#!/usr/bin/env python

#!coding=utf-8

list = []

f = file('/tmp/1.log')

str1 = f.readlines() 

f.close() 

for i in str1:

    ip =  i.split()[0]

    list.append(ip) 

list_num = set(list)

for j in list_num: 

    num = list.count(j) 

    print '%s : %s' %(j,num)

标签:脚本,bin,运维,python,random,list,num,print,input
From: https://blog.51cto.com/u_16077267/12043670

相关文章

  • windows定时执行python程序
    先写个bat脚本,执行Python程序::根据实际情况修改Python解释器的路径setPYTHON=D:\python\python.exesetCODE_DIR=D:\code\projectcd/d"%CODE_DIR%"::启动Python程序echoRunningmain.py...%PYTHON%main.py>nohup.log2>&1echoAllscriptscomplete......
  • OpenCV Python 深度指南
    OpenCV(OpenSourceComputerVisionLibrary)是一个开源的计算机视觉库,它包含了大量的图像处理和机器视觉算法。OpenCV支持多种编程语言,包括C++和Python,其中Python接口因其易用性和灵活性而受到广泛欢迎。本指南将覆盖以下几个方面:OpenCV简介OpenCV安装与配置图像基础视频......
  • Python OpenCV精讲系列 - 高级图像处理技术(七)
    ......
  • Python 进阶 03 网络编程
    网络编程概述网络编程,又称套接字编程(Socket编程),是实现不同计算机上运行的程序间进行数据交互的关键技术。它允许程序通过网络发送和接收数据,无论这些程序是运行在同一台机器上还是分布在不同地理位置的计算机上。网络编程是现代软件开发中不可或缺的一部分,广泛应用于Web开发、......
  • 基于python+Django的学生成绩管理系统(源码+vue+前后端分离)
    收藏关注不迷路!!......
  • 10_Python流程控制_循环
    循环循环是控制程序重复执行特定代码块的关键结构。Python提供了几种不同的循环结构,以满足不同的编程需求。While循环while循环会重复执行一个代码块,只要指定的条件为真。适用情况:不清楚具体的循环次数,或者当条件一直为真时一般用while。注意:条件中的变量在while迭代......
  • Python脚本生成可执行文件
    将python文件生产可执行文件,可以在其他不同的环境下使用,即使没有安装python的环境也可以使用,避免了python文件或脚本需要在安装了python的环境下才能使用,提高了便利性一.安装pyinstaller    将python脚本生成可执行文件,需要通过pyinstaller工具,需提前安装,安装方法为......
  • D10【python接口自动化学习】-python基础之内置数据类型
    day10列表学习日期:20240917学习目标:内置数据类型--列表:如何处理同类数据?学习笔记:列表的定义创建列表#创建列表colours=['red','blue','green']print(colours)#将列表打印出来['red','blue','green']print(type(colours))#<class&#......
  • 【Python机器学习】序列到序列建模——对序列到序列模型的增强
    有两种增强训练序列到序列模型的方法,可以提高模型的精确率和可扩展性。使用装桶法降低训练复杂度输入序列可以有不同的长度,这使短序列的训练数据添加了大量填充词条。过多的填充会使计算成本高昂,特别是当大多数序列都很短,只有少数序列接近最大词条长度时。假设用数据训练序列......
  • 2024.9.16 Python,最短的桥
    1.最短的桥:这个题我最新的代码如下:fromcollectionsimportdequeclassSolution:defshortestBridge(self,grid:List[List[int]])->int:nr=len(grid)ifnr==0:return0nc=len(grid[0])island=deque([])......