美文网首页
五个python常用运维脚本面试题实例

五个python常用运维脚本面试题实例

作者: 57c11ca04f9f | 来源:发表于2018-08-04 23:50 被阅读125次

五个python常用运维脚本面试题实例

来源:马哥教育

原文作者:chengxuyuan

链接:https://mp.weixin.qq.com/s/nahDVL6aiMQ2vp85wo6nNw

一、用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,

onerror=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'

[if !supportLineBreakNewLine]

[endif]

三、猜数器

程序随机生成一个个位数字,然后等待用户输入,输入数字和生成数字相同则视为成功。成功则打印三角形。失败则重新输入(提示:随机数函数: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'

[if !supportLineBreakNewLine]

[endif]

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

#!/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)

Python学习

相关文章

网友评论

      本文标题:五个python常用运维脚本面试题实例

      本文链接:https://www.haomeiwen.com/subject/fqyvvftx.html