欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用Python腳本實(shí)現(xiàn)傳遞參數(shù)的三種方式分享

 更新時(shí)間:2022年12月05日 16:52:17   作者:Mrwhite86  
使用python腳本傳遞參數(shù)在實(shí)際工作過程中還是比較常用。這篇文章為大家總結(jié)了三個(gè)常用的方式,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

背景:使用python腳本傳遞參數(shù)在實(shí)際工作過程中還是比較常用,以下提供了好幾種的實(shí)現(xiàn)方式:

一、使用sys.argv的數(shù)組傳入

說明:使用sys.argv必須按照先后的順序傳入對(duì)應(yīng)的參數(shù);sys.argv則封裝了傳入的參數(shù)數(shù)據(jù),作為數(shù)組的方式已經(jīng)傳入

import sys

print("傳入?yún)?shù)的總長(zhǎng)度為:", len(sys.argv))
print("type:", type(sys.argv))
print("function name:", sys.argv[0])
try:
    print("第一個(gè)傳入的參數(shù)為:", sys.argv[1])
    print("第二個(gè)傳入的參數(shù)為:", sys.argv[2])
except Exception as e:
    print("Input Error:", e)

通過命令行查看運(yùn)行結(jié)果:

二、使用argparse包傳入

說明:parser.add_argument 方法的type參數(shù)理論上可以是任何合法的類型,而且傳入的順序并沒有要求

參數(shù)使用的說明:

  • --xx  完整參數(shù)輸入
  • -x    簡(jiǎn)寫參數(shù)輸入
  • type  輸入的參數(shù)將要被轉(zhuǎn)換的數(shù)據(jù)類型
  • default 默認(rèn)值
  • help   參數(shù)介紹
  • nargs  可傳入的參數(shù)數(shù)量
  • required  是否為必須參數(shù)
import argparse
parser = argparse.ArgumentParser(description='argparse testing')
parser.add_argument('--name','-n',type=str, default = "bk",required=True,help="a programmer's name")
parser.add_argument('--age','-a',type=int, default=35,help='age of the programmer')
parser.add_argument('--sex','-s',type=str, default='male')
parser.add_argument('--favorite','-f',type=str, nargs="+",required=False,help="favorite of the programmer")

args = parser.parse_args()
print(args.name)
print(args.age)
print(args.sex)
print(args.favorite)

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

1.使用完整參數(shù)輸入

2.使用簡(jiǎn)寫參數(shù)輸入

3.多參數(shù)的傳入

三、使用shell腳本的方式向python腳本傳遞參數(shù)

1.使用shell腳本向python腳本傳遞參數(shù)

python腳本依然使用sys.argv的數(shù)組的方式傳入?yún)?shù)

原python如下:(python_test.py)

import sys

print("傳入?yún)?shù)的總長(zhǎng)度為:", len(sys.argv))
print("type:", type(sys.argv))
print("function name:", sys.argv[0])
try:
    print("第一個(gè)傳入的參數(shù)為:", sys.argv[1])
    print("第二個(gè)傳入的參數(shù)為:", sys.argv[2])
except Exception as e:
    print("Input Error:", e)

增加shell腳本如下:(shell_test.sh)

#!/bin/bash
#定義變量
para1=$1
para2=$2
python python_test.py $para1 $para2

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

2.使用shell腳本向python腳本內(nèi)的方法傳遞參數(shù)

python腳本如下:(python_test.py)

def fun1():
    return "無參數(shù)方法fun1"

def fun2(x):
    return f"有參數(shù)方法fun2且傳入的參數(shù)為{x}"

shell腳本如下:(shell_test.sh)

(1)無參數(shù)方式調(diào)用:

#!/bin/bash
#定義變量
python -c 'import python_test;print(python_test.fun1())'

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

(2)有參數(shù)方式調(diào)用

#!/bin/bash
#定義變量
para=$1
python -c "import python_test;print(python_test.fun2('${para}'))"

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

 (3)一次調(diào)用所有方法,放入一個(gè)集合中,再調(diào)用切割方法獲取相應(yīng)的值

#!/bin/bash
#定義變量
para=$1
#將結(jié)果保存為一個(gè)變量ALL_RESULTS內(nèi)
ALL_RESULTS=$(python -c "import python_test;print(python_test.fun1(),python_test.fun2('${para}'))")
#分別打印第一個(gè)方法的返回與第二個(gè)方法的返回
RESULTS_fun1=$(echo $ALL_RESULTS | cut -d' ' -f1)
RESULTS_fun2=$(echo $ALL_RESULTS | cut -d' ' -f2)
echo fun1方法的返回結(jié)果為:$RESULTS_fun1
echo fun2方法的返回結(jié)果為:$RESULTS_fun2

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

到此這篇關(guān)于利用Python腳本實(shí)現(xiàn)傳遞參數(shù)的三種方式分享的文章就介紹到這了,更多相關(guān)Python腳本傳遞參數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Python中的元組與邏輯運(yùn)算符

    詳解Python中的元組與邏輯運(yùn)算符

    這篇文章主要介紹了Python中的元組與邏輯運(yùn)算符的用法,是Python入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-10-10
  • python網(wǎng)絡(luò)爬蟲學(xué)習(xí)筆記(1)

    python網(wǎng)絡(luò)爬蟲學(xué)習(xí)筆記(1)

    這篇文章主要為大家詳細(xì)介紹了python網(wǎng)絡(luò)爬蟲學(xué)習(xí)筆記的第一篇,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • python shapely.geometry.polygon任意兩個(gè)四邊形的IOU計(jì)算實(shí)例

    python shapely.geometry.polygon任意兩個(gè)四邊形的IOU計(jì)算實(shí)例

    這篇文章主要介紹了python shapely.geometry.polygon任意兩個(gè)四邊形的IOU計(jì)算實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python優(yōu)化代碼的技巧分享

    Python優(yōu)化代碼的技巧分享

    Python?是?一種用著很爽的語言,Python也有著很多特性和技巧,可以幫助我們編寫更高效、更優(yōu)雅、更易維護(hù)的代碼,下面小編為大家整理了一些常用的Python代碼優(yōu)化的簡(jiǎn)單小技巧,希望對(duì)大家有所幫助
    2023-09-09
  • 詳解Python中__new__方法的作用

    詳解Python中__new__方法的作用

    Python類中有些方法名、屬性名的前后都添加__雙下畫線,這種方法、屬性通常屬于Python的特殊方法和特殊屬性。本文將聊聊構(gòu)造方法__new__實(shí)際程序的應(yīng)用場(chǎng)景,感興趣的可以了解一下
    2022-03-03
  • 解決Keras TensorFlow 混編中 trainable=False設(shè)置無效問題

    解決Keras TensorFlow 混編中 trainable=False設(shè)置無效問題

    這篇文章主要介紹了解決Keras TensorFlow 混編中 trainable=False設(shè)置無效問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • pandas中聚合函數(shù)agg的具體用法

    pandas中聚合函數(shù)agg的具體用法

    Pandas中的的agg()函數(shù)為aggregate的縮寫.總數(shù)、合計(jì)、聚合的意思.是一個(gè)功能非常強(qiáng)大的函數(shù).在Pandas中可以利用agg()對(duì)Series、DataFrame以及groupby()后的結(jié)果進(jìn)行聚合操作,下面這篇文章主要給大家介紹了關(guān)于pandas中聚合函數(shù)agg的具體用法,需要的朋友可以參考下
    2022-07-07
  • Python requests timeout的設(shè)置

    Python requests timeout的設(shè)置

    這篇文章主要介紹了Python requests timeout的設(shè)置,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • pandas.DataFrame.to_json按行轉(zhuǎn)json的方法

    pandas.DataFrame.to_json按行轉(zhuǎn)json的方法

    今天小編就為大家分享一篇pandas.DataFrame.to_json按行轉(zhuǎn)json的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • python3 deque 雙向隊(duì)列創(chuàng)建與使用方法分析

    python3 deque 雙向隊(duì)列創(chuàng)建與使用方法分析

    這篇文章主要介紹了python3 deque 雙向隊(duì)列創(chuàng)建與使用方法,結(jié)合實(shí)例形式分析了python3 deque 雙向隊(duì)列創(chuàng)建、添加、清空、拷貝等相關(guān)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下
    2020-03-03

最新評(píng)論