最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python腳本文件外部傳遞參數(shù)的處理方法

 更新時(shí)間:2021年05月27日 09:19:53   作者:文若oO  
Python 自帶的接收外部參數(shù)的模塊,用好以后也是非常的猴賽雷。文章通過(guò)一個(gè)MySQL 自動(dòng)化部署腳本,需要指定的參數(shù)有三個(gè),我們均可以使用 --參數(shù)名 方式來(lái)指定,會(huì)非常方便,今天介紹的就是 Python 外部指定參數(shù)的幾種方法,感興趣的朋友一起看看吧

前言

我們寫(xiě)的 Python 腳本需要修改參數(shù),當(dāng)我們將腳步上傳到服務(wù)器或者給不會(huì)編程的人用時(shí),會(huì)比較不方便,如果直接可以在外部指定參數(shù),會(huì)非常方便,今天介紹的就是 Python 外部指定參數(shù)的幾種方法。

一、流文本處理

這種方法適用于修改一下文件中的內(nèi)容,配合 Linux 命令非常方便,舉一個(gè)例子,我們需要從一個(gè) binlog 文件中找到該里面最大的事物,我們要配合 mysqldump 來(lái)做:

mysqlbinlog  -v --base64-output=decode-row ./mysql-bin.000001 | python check_big_event.py

此時(shí)我們需要給腳步的參數(shù)就只有 binlog 文件路徑,那就可以直接使用 sys 將 binlog 文件以流式(一行一行)傳遞給腳步,非常簡(jiǎn)單就可以實(shí)現(xiàn),下方是示例腳本👇
在這里插入圖片描述

二、argparse 模塊

Python 自帶的接收外部參數(shù)的模塊,用好以后也是非常的猴賽雷。下面是一個(gè) MySQL 自動(dòng)化部署腳步,需要指定的參數(shù)有三個(gè),我們均可以使用 --參數(shù)名 方式來(lái)指定。

python MySQL_install.py --datadir=/data/mysql_db --basedir=/usr/local --path=mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz

下方是使用實(shí)例,當(dāng)不指定參數(shù)時(shí),會(huì)打印出 help 方法。

在這里插入圖片描述

下方是一個(gè)示例格式:

在這里插入圖片描述

使用這種方法傳遞參數(shù),我們就可以運(yùn)行腳本時(shí):

python args.py --path=xxx --log=xxx

優(yōu)點(diǎn)非常多,指定參數(shù)沒(méi)有數(shù)量限制,可以設(shè)置默認(rèn),兼容性 和 擴(kuò)展性非常好,生產(chǎn)推薦使用該方法。

三、argv 列表

這種方法非常簡(jiǎn)單直接,不需要指定參數(shù)名,直接使用下標(biāo)來(lái)取參數(shù),請(qǐng)看下方演示:

在這里插入圖片描述

運(yùn)行結(jié)果:

在這里插入圖片描述

指定參數(shù)時(shí),使用空格隔開(kāi)就可以,缺點(diǎn)是我們必須安裝腳步順序指定,如果腳本只有一個(gè)參數(shù)或者參數(shù)意義相同,可以用這種方法,參數(shù)較多不建議使用。

四、argv + argparse

argv + argparse 好處就是可以讓腳本得到非常好的封裝,適用于腳步參數(shù)比較多的時(shí)候。下方是一個(gè)演示:

import sys
import argparse


def parse_args():
    """parse args for test"""

    parser = argparse.ArgumentParser(add_help=False)
    connect_setting = parser.add_argument_group('connect setting')
    connect_setting.add_argument('-h', '--host', dest='host', type=str,
                                 help='Host the MySQL database server located', default='127.0.0.1')
    connect_setting.add_argument('-u', '--user', dest='user', type=str,
                                 help='MySQL Username to log in as', default='root')
    connect_setting.add_argument('-p', '--password', dest='password', type=str, nargs='*',
                                 help='MySQL Password to use', default='')
    connect_setting.add_argument('-P', '--port', dest='port', type=int,
                                 help='MySQL port to use', default=3306)

    return parser


def command_line_args(args):
    need_print_help = False if args else True
    parser = parse_args()
    args = parser.parse_args(args)

    if args.help or need_print_help:
        parser.print_help()
        sys.exit(1)
        
    return args


if __name__ == '__main__':
    args = command_line_args(sys.argv[1:])
    print(args.host)

以上就是Python腳本文件外部傳遞參數(shù)的處理方法的詳細(xì)內(nèi)容,更多關(guān)于Python腳本外部傳遞參數(shù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python 類的特殊成員解析

    Python 類的特殊成員解析

    這篇文章主要介紹了Python 類的特殊成員介紹,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-06-06
  • Python機(jī)器學(xué)習(xí)多層感知機(jī)原理解析

    Python機(jī)器學(xué)習(xí)多層感知機(jī)原理解析

    最簡(jiǎn)單的深度網(wǎng)絡(luò)稱為多層感知機(jī),它們由多層神經(jīng)元組成,每一層都與下面一層(從中接收輸入)和上面一層(反過(guò)來(lái)影響當(dāng)前層的神經(jīng)元)完全相連
    2021-10-10
  • Django框架中方法的訪問(wèn)和查找

    Django框架中方法的訪問(wèn)和查找

    這篇文章主要介紹了Django框架中方法的訪問(wèn)和查找,包括各種列表和字典的查找,是Python的Django框架使用的必備技巧,需要的朋友可以參考下
    2015-07-07
  • python實(shí)現(xiàn)停車場(chǎng)管理系統(tǒng)

    python實(shí)現(xiàn)停車場(chǎng)管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)停車場(chǎng)管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • python list中append()與extend()用法分享

    python list中append()與extend()用法分享

    列表是以類的形式實(shí)現(xiàn)的。“創(chuàng)建”列表實(shí)際上是將一個(gè)類實(shí)例化。因此,列表有多種方法可以操作
    2013-03-03
  • python 中的9個(gè)實(shí)用技巧,助你提高開(kāi)發(fā)效率

    python 中的9個(gè)實(shí)用技巧,助你提高開(kāi)發(fā)效率

    這篇文章主要介紹了python 中的9個(gè)實(shí)用技巧,幫助大家提高python開(kāi)發(fā)時(shí)的效率,感興趣的朋友可以了解下
    2020-08-08
  • Django使用AJAX調(diào)用自己寫(xiě)的API接口的方法

    Django使用AJAX調(diào)用自己寫(xiě)的API接口的方法

    這篇文章主要介紹了Django使用AJAX調(diào)用自己寫(xiě)的API接口的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-03-03
  • Python繪制散點(diǎn)密度圖的三種方式詳解

    Python繪制散點(diǎn)密度圖的三種方式詳解

    散點(diǎn)密度圖是在散點(diǎn)圖的基礎(chǔ)上,計(jì)算了每個(gè)散點(diǎn)周圍分布了多少其他的點(diǎn),并通過(guò)顏色表現(xiàn)出來(lái)。本文主要介紹了Python繪制散點(diǎn)密度圖的三種方式,需要的可以參考下
    2022-06-06
  • python讀取和保存圖片5種方法對(duì)比

    python讀取和保存圖片5種方法對(duì)比

    為大家分享一下python讀取和保存圖片5種方法與比較,python中對(duì)象之間的賦值是按引用傳遞的,如果需要拷貝對(duì)象,需要用到標(biāo)準(zhǔn)庫(kù)中的copy模塊
    2018-09-09
  • pycharm解決關(guān)閉flask后依舊可以訪問(wèn)服務(wù)的問(wèn)題

    pycharm解決關(guān)閉flask后依舊可以訪問(wèn)服務(wù)的問(wèn)題

    這篇文章主要介紹了pycharm解決關(guān)閉flask后依舊可以訪問(wèn)服務(wù)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04

最新評(píng)論

西和县| 白沙| 盱眙县| 西林县| 平利县| 金坛市| 敖汉旗| 武宁县| 吉林市| 平遥县| 安仁县| 景宁| 克拉玛依市| 尤溪县| 海安县| 柞水县| 盐城市| 镇坪县| 山西省| 上高县| 左贡县| 丹阳市| 巴彦县| 达拉特旗| 平潭县| 防城港市| 洛浦县| 临高县| 镇平县| 桐柏县| 太仓市| 久治县| 托克逊县| 东宁县| 民勤县| 兴海县| 贡觉县| 茂名市| 壶关县| 喀什市| 讷河市|