一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語(yǔ)言編程技術(shù)及教程分享平臺(tái)!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - Python 獲得命令行參數(shù)的方法(推薦)

Python 獲得命令行參數(shù)的方法(推薦)

2021-01-08 00:21寒尋 Python

本篇將介紹python中sys, getopt模塊處理命令行參數(shù)的方法,本文給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友參考下吧

本篇將介紹python中sys, getopt模塊處理命令行參數(shù)

如果想對(duì)python腳本傳參數(shù),python中對(duì)應(yīng)的argc, argv(c語(yǔ)言的命令行參數(shù))是什么呢?

需要模塊:sys

參數(shù)個(gè)數(shù):len(sys.argv)

腳本名:    sys.argv[0]
參數(shù)1:     sys.argv[1]
參數(shù)2:     sys.argv[2]

test.py

?
1
2
3
4
5
import sys
print "腳本名:", sys.argv[0]
for i in range(1, len(sys.argv)):
 print "參數(shù)", i, sys.argv[i]
>>>python test.py hello world

腳本名:test.py

參數(shù) 1 hello
參數(shù) 2 world

python中使用命令行選項(xiàng):

例如我們需要一個(gè)convert.py腳本。它的作用是處理一個(gè)文件,并將處理后的結(jié)果輸出到另一個(gè)文件中。

要求該腳本滿足以下條件:

1.通過(guò)-i -o選項(xiàng)來(lái)區(qū)別參數(shù)是輸入文件還是輸出文件.

?
1
>>> python convert.py -i inputfile -o outputfile

2.當(dāng)不知道convert.py需要哪些參數(shù)時(shí),用-h打印出幫助信息

?
1
>>> python convert.py -h

getopt函數(shù)原形:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
getopt.getopt(args, options[, long_options])
convert.py
python test.py -i inputfile -o outputfile
 
import sys, getopt
opts, args = getopt.getopt(sys.argv[1:], "hi:o:")
input_file=""
output_file=""
for op, value in opts:
 if op == "-i":
  input_file = value
 elif op == "-o":
  output_file = value
 elif op == "-h":
  usage()
  sys.exit()

代碼解釋:

a) sys.argv[1:]為要處理的參數(shù)列表,sys.argv[0]為腳本名,所以用sys.argv[1:]過(guò)濾掉腳本名。

b) "hi:o:": 當(dāng)一個(gè)選項(xiàng)只是表示開(kāi)關(guān)狀態(tài)時(shí),即后面不帶附加參數(shù)時(shí),在分析串中寫入選項(xiàng)字符。當(dāng)選項(xiàng)后面是帶一個(gè)附加參數(shù)時(shí),在分析串中寫入選項(xiàng)字符同時(shí)后面加一個(gè)":"號(hào)。

  所以"hi:o:"就表示"h"是一個(gè)開(kāi)關(guān)選項(xiàng);

  "i:"和"o:"則表示后面應(yīng)該帶一個(gè)參數(shù)。

c) 調(diào)用getopt函數(shù)。函數(shù)返回兩個(gè)列表:opts和args。

  opts為分析出的格式信息。opts是一個(gè)兩元組的列表。每個(gè)元素為:(選項(xiàng)串,附加參數(shù))。如果沒(méi)有附加參數(shù)則為空串''。

  上面例子中的ops為:[('h',''),('-i','inputfile'),('-o','outputfile')]

  args為不屬于格式信息的剩余的命令行參數(shù)。

getopt函數(shù)的第三個(gè)參數(shù)[, long_options]為可選的長(zhǎng)選項(xiàng)參數(shù),上面例子中的都為短選項(xiàng)(如-i -o)

長(zhǎng)選項(xiàng)格式舉例:

?
1
2
--version
--file=error.txt

讓一個(gè)腳本同時(shí)支持短選項(xiàng)和長(zhǎng)選項(xiàng)

?
1
getopt.getopt(sys.argv[1:], "hi:o:", ["version", "file="])

總結(jié)

以上所述是小編給大家介紹的Python 獲得命令行參數(shù)的方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)服務(wù)器之家網(wǎng)站的支持!

原文鏈接:https://www.cnblogs.com/imshome/archive/2018/01/24/8339850.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚欧成人中文字幕一区 | 国产色站| 国产成人a∨麻豆精品 | 草久热 | 精品国产一级在线观看 | gay男强壮军人chinese | 亚洲成人一区二区 | 99久久精品免费看国产情侣 | 国产在线精品99一卡2卡 | 亚洲大片免费观看 | 午夜一区二区免费视频 | 91精品国产91热久久久久福利 | 我和么公的秘密小说免费 | 美女任你模 | 国产成人综合亚洲亚洲欧美 | 特黄特级高清免费视频毛片 | 3d动漫美女物被遭强视频 | 免费在线中文字幕 | 国产伦码精品一区二区 | 2021日本三级理论影院 | 男人的天堂在线 | 蜜桃视频一区二区三区四区 | 好姑娘在线完整版视频 | 99久久精品6在线播放 | 99热在线观看免费 | 天天综合色天天综合网 | 无人区大片免费播放器 | 高清男的插曲女的 欢迎你老狼 | 亚洲AV久久无码精品蜜桃 | 高清在线看 | 共妻高h| 精品国产欧美精品v | 99久久免费国产精品热 | 国产一区二区三区在线看片 | 亚洲ss | www.久久99| 二次元美女扒开内裤露尿口 | 秋葵丝瓜茄子草莓榴莲樱桃 | 俄罗斯一级大片 | 放荡女小洁的性日记 | 午夜影院免费体验 |