亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python常用的運維腳本有哪些

發布時間:2020-06-12 11:02:18 來源:億速云 閱讀:1203 作者:Leah 欄目:系統運維

這篇文章給大家分享的是有關python常用的運維腳本的介紹,小編覺得挺實用的,因此分享給大家學習,話不多說,一起往下看吧。

1.獲取外網ip

#!/usr/bin/env python
-*- coding:utf-8 -*-
Time: 2019/12/20  10:05
import socket
import requests,re
#方法一
text=requests.get("http://txt.go.sohu.com/ip/soip").text
ip=re.findall(r'\d+.\d+.\d+.\d+',text)
#方法二
ipqwb = socket.getaddrinfo('www.baidu.com', 'http') #獲取指定域名的A記錄
nowIp = (ipqwb[0][4][0])    # 賦值
print("本機外網IP: " + ip[0])
print("qwb    IP: " + nowIp)

2.生成隨機密碼:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Time: 2019/11/21  11:43
import random,string
def passwd():
    src = string.ascii_letters + string.digits
    count = input('請確認要生成幾條密碼: ')
    list_passwds = []
    for i in range(int(count)):
        #密碼位數為N+3,例如下面就是5+3=8位密碼
        list_passwd_all = random.sample(src, 5) #從字母和數字中隨機取5位
        list_passwd_all.extend(random.sample(string.digits, 1))  #讓密碼中一定包含數字
        list_passwd_all.extend(random.sample(string.ascii_lowercase, 1)) #讓密碼中一定包含小寫字母
        list_passwd_all.extend(random.sample(string.ascii_uppercase, 1)) #讓密碼中一定包含大寫字母
        random.shuffle(list_passwd_all) #打亂列表順序
        str_passwd = ''.join(list_passwd_all) #將列表轉化為字符串
        if str_passwd not in list_passwds: #判斷是否生成重復密碼
            list_passwds.append(str_passwd)
        print(list_passwds[i])
    #print(list_passwds)
passwd()

3.發送郵件:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Time: 2019/11/15  17:18
import smtplib
from email.mime.text import MIMEText
from time import sleep
from email.header import Header
host = 'smtp.163.com'
port = 25
sender = 'xxxx@163.com'
pwd = 'xxxxx'
receiver = ['22222222@qq.com', 'xxxxxxxx@163.com']  # 可以不用添加自己的郵箱,添加為了防止系統認為是垃圾郵箱發送失敗會報錯
body = '郵件內容'
title = '郵件標題'
def sentemail():
    msg = MIMEText(body, 'plain', 'utf-8')
    msg['subject'] = Header(title, 'utf-8').encode()
    msg['from'] = sender
    msg['to'] = ','.join(receiver)
    try:
        s = smtplib.SMTP(host, port)
        s.login(sender, pwd)
        s.sendmail(sender, receiver, msg.as_string())
        print ('Done.sent email success')
    except smtplib.SMTPException as e:
        print ('Error.sent email fail')
        print (e)
if __name__ == '__main__':
    sentemail()

4.基礎log日志配置:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Time: 2019/11/27  13:04
import logging
def logger():
    logger=logging.getLogger()

    fh=logging.FileHandler("test.log")     #向文件中發送內容,有自己默認的日志格式
    ch=logging.StreamHandler()             #向屏幕發送文件,有自己默認的日志格式

    fm=logging.Formatter("%(asctime)s %(message)s")  #定義自己的日志格式
    fh.setFormatter(fm)                    #添加自定義的日志格式,如果不添加會用自己默認的日志格式
    ch.setFormatter(fm)

    logger.addHandler(fh)          #顯示出fh,ch的日志
    logger.addHandler(ch)
    logger.setLevel("DEBUG")       #定義日志級別
    return logger                  # 返回函數對象

logger=logger()                     #調用函數

logger.debug("hello 1")            #打印日志
logger.info("hello 2")
logger.warning("hello 3")
logger.error("hello 4")
logger.critical("hello 5")

5.查看本地端口是否開放:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Time: 2019/11/21  11:05
import socket

port_number = [135,443,80,3306,22]

for index in port_number:
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    result = sock.connect_ex(('127.0.0.1', index))
    if result == 0:
        print("Port %d is open" % index)
    else:
        print("Port %d is not open" % index)
    sock.close()

6.裝飾器調用一次使函數執行5次

#!/usr/bin/env python
-*- coding:utf-8 -*-
def again_func(func):

    def inner(*args, **kwargs):
        for line in range(5):
            func(*args, **kwargs)

    return inner
@again_func
def func1():
    print("from func1...")
func1()

7.可變參數定義*args, **kwargs的區別

#!/usr/bin/env python
-*- coding:utf-8 -*-
def foo(*args, **kwargs):
    print("args=:", args)
    print("kwargs=:", kwargs)
    print("-------------")

if __name__ == '__main__':
    foo(1,2,3)
    foo(a=1, b=2, c=3)
    foo(1,2,3,a=1,b=2,c=3)

以上便是python常用的運維腳本介紹,雖然從篇幅上看很復雜,但是示例代碼非常詳細且容易理解,如果想了解更多相關內容,請關注億速云行業資訊。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

株洲县| 界首市| 京山县| 鄄城县| 体育| 磴口县| 太和县| 徐汇区| 栾川县| 霍邱县| 英超| 双流县| 繁峙县| 岳普湖县| 漳平市| 安西县| 大庆市| 文山县| 观塘区| 固安县| 永新县| 平舆县| 玉门市| 拉孜县| 新竹市| 高台县| 兴海县| 思南县| 商洛市| 凤翔县| 宜君县| 大新县| 株洲县| 玉田县| 当雄县| 成武县| 木兰县| 宣武区| 靖西县| 灌云县| 绿春县|