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

Python編寫帶選項(xiàng)的命令行程序方法

 更新時(shí)間:2019年08月13日 16:43:28   作者:_榮耀之路_  
今天小編就為大家分享一篇Python編寫帶選項(xiàng)的命令行程序方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

運(yùn)行python程序時(shí),有時(shí)需要在命令行傳入一些參數(shù)。常見的方式是在執(zhí)行時(shí),在腳本名后直接追加空格分隔的參數(shù)列表(例如 python test.py arg0 arg1 arg2),然后在腳本中就可以通過sys.argv獲取所有的命令行參數(shù)。

這種方式的優(yōu)點(diǎn)是傳參方便,參數(shù)獲取簡單;缺點(diǎn)是執(zhí)行腳本時(shí),必須知道參數(shù)的順序,并且不能設(shè)置默認(rèn)值,所有參數(shù)每次都必須傳入。

還有一種命令行傳參方式是通過帶選項(xiàng)的方式進(jìn)行傳參(例如python test.py -p0=arg0 -p1=arg1)。

這種方式的優(yōu)點(diǎn)是參數(shù)不用按照固定的順序傳入,并且對于有默認(rèn)值的參數(shù),可以不傳參數(shù)直接使用默認(rèn)值;缺點(diǎn)是傳入?yún)?shù)時(shí)需要額外加上選項(xiàng)。

對于帶選項(xiàng)的命令行參數(shù),可以通過python自帶的getopt模塊來進(jìn)行解析。

主要方法:

getopt(args, shortopts, longopts = []):解析命令行選項(xiàng)和參數(shù)列表。

args是不包括運(yùn)行程序引用的參數(shù)列表,通常來說就是sys.args[1:]。

shortopts是腳本要識(shí)別的短選項(xiàng)字母,如果短選項(xiàng)需要參數(shù),需要在字母后加冒號(hào)“:”。

longopts是支持的長選項(xiàng),是一個(gè)長選項(xiàng)名稱的列表。選項(xiàng)名稱不包括“-”。需要參數(shù)的長選項(xiàng),需要在后面加一個(gè)等號(hào)“=”。

返回值包括兩個(gè)列表:第一個(gè)列表中是(選項(xiàng),值),如果選項(xiàng)沒有參數(shù),值為空字符串。第二個(gè)列表是剝離選項(xiàng)之后的程序參數(shù)列表。長項(xiàng)前用“--”,短項(xiàng)前用“-”。

另外要注意的是當(dāng)進(jìn)行命令行參數(shù)解析時(shí),如果遇到了非選項(xiàng)的參數(shù)時(shí),就會(huì)停止帶選項(xiàng)參數(shù)的解析。

簡單示例

#!/usr/bin/python
# -*- coding: gbk -*-
import sys
import getopt
def printUsage():
	print ('''usage: test.py -i <input> -o <output>
    test.py --in=<input> --out=<output>''')
 
def main():
	inputarg=""
	outputarg=""
	try:
		opts, args = getopt.getopt(sys.argv[1:],"hi:o:",["in=","out="])
	except getopt.GetoptError:
		printUsage()
		sys.exit(-1)
	for opt,arg in opts:
		if opt == '-h':
			printUsage()
		elif opt in ("-i", "--in"):
			inputarg=arg
		elif opt in ("-o","--out"):
			outputarg=arg
	print ('輸入:'+inputarg)
	print ('輸出:'+outputarg)
	print ('其他程序參數(shù):'+",".join(args))
if __name__=="__main__":
	main()

以上這篇Python編寫帶選項(xiàng)的命令行程序方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python線程中的同步問題及解決方法

    python線程中的同步問題及解決方法

    這篇文章主要介紹了python線程中的同步問題及解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • python 動(dòng)態(tài)生成變量名以及動(dòng)態(tài)獲取變量的變量名方法

    python 動(dòng)態(tài)生成變量名以及動(dòng)態(tài)獲取變量的變量名方法

    今天小編就為大家分享一篇python 動(dòng)態(tài)生成變量名以及動(dòng)態(tài)獲取變量的變量名方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python基于gevent實(shí)現(xiàn)文件字符串查找器

    Python基于gevent實(shí)現(xiàn)文件字符串查找器

    這篇文章主要介紹了Python基于gevent實(shí)現(xiàn)文件字符串查找器,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Python生成可執(zhí)行文件之PyInstaller庫的使用方式

    Python生成可執(zhí)行文件之PyInstaller庫的使用方式

    PyInstaller是一個(gè)十分有用的第三方庫,通過對源文件打包,Python程序可以在沒有安裝Python的環(huán)境中運(yùn)行,也可以作為一個(gè)獨(dú)立文件方便傳遞和管理,下面這篇文章主要給大家介紹了關(guān)于Python生成可執(zhí)行文件之PyInstaller庫的使用方式,需要的朋友可以參考下
    2022-04-04
  • python 常見的反爬蟲策略

    python 常見的反爬蟲策略

    這篇文章主要介紹了python反爬蟲策略,幫助大家更好的理解和使用python 爬蟲,感興趣的朋友可以了解下
    2020-09-09
  • PyTorch小功能之TensorDataset解讀

    PyTorch小功能之TensorDataset解讀

    這篇文章主要介紹了PyTorch小功能之TensorDataset解讀,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • python實(shí)現(xiàn)五子棋程序

    python實(shí)現(xiàn)五子棋程序

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)五子棋程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • Python實(shí)現(xiàn)批量修改Word文檔中圖片大小并居中對齊

    Python實(shí)現(xiàn)批量修改Word文檔中圖片大小并居中對齊

    這篇文章主要介紹了如何利用Python實(shí)現(xiàn)批量修改Word文檔中圖片大小并居中對齊,文中通過代碼示例給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-08-08
  • python類繼承用法實(shí)例分析

    python類繼承用法實(shí)例分析

    這篇文章主要介紹了python類繼承用法實(shí)例分析,以實(shí)例的形式詳細(xì)講述了Python類繼承的實(shí)現(xiàn)方法及相關(guān)的工作原理,非常實(shí)用,需要的朋友可以參考下
    2014-10-10
  • python pytorch中.view()函數(shù)的用法解讀

    python pytorch中.view()函數(shù)的用法解讀

    這篇文章主要介紹了python pytorch中.view()函數(shù)的用法,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評論

新营市| 潍坊市| 邓州市| 屯留县| 剑阁县| 盐源县| 大同市| 滦平县| 乌审旗| 汉川市| 祁阳县| 荔波县| 扎赉特旗| 始兴县| 海丰县| 新建县| 鞍山市| 庄浪县| 虞城县| 新宾| 名山县| 麦盖提县| 两当县| 萍乡市| 上饶市| 郓城县| 张家川| 磐石市| 武冈市| 泸州市| 合川市| 夏津县| 平邑县| 河池市| 库尔勒市| 新乐市| 万源市| 随州市| 景德镇市| 龙南县| 宿迁市|