簡體   English   中英

使用argv將參數傳遞給python中的函數

[英]passing arguments to functions in python using argv

請找到以下腳本

from sys import argv
script, contact_name, contact_no = argv

def operation()
    some code goes here

由於我從命令行運行此腳本,如何將contact_name和contact_no傳遞給操作函數? 我正在使用python 2.7

命令行參數作為數組傳遞給程序,第一個通常是程序的位置。 所以我們跳過argv[0]並轉到其他參數。

此示例不包括錯誤檢查。

from sys import argv

def operation(name, number):
    ...

contact_name = argv[1]
contact_no = argv[2]

operation(contact_name, contact_no)

從命令行調用:

python myscript.py John 5

您可以使用argparse編寫用戶友好的命令行界面。

import argparse

parser = argparse.ArgumentParser(description='You can add a description here')

parser.add_argument('-n','--name', help='Your name',required=True)
args = parser.parse_args()

print args.name

要調用腳本,請使用:

python script.py -n a_name

允許任何參數

from sys import argv

def operation(name, number, *args):
    print(name , number)

operation(*argv[1:])

從命令行調用:

python myscript.py Om 27

第一個和第二個argv(“Om”和27將分別傳遞給名稱和數字)額外的argv(如果有的話)將* args tupple變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM