1. 程式人生 > >python獲取命令列引數的幾種方法總結

python獲取命令列引數的幾種方法總結

第一種是利用sys.argv模組

import sys
print sys.argv   輸出整個命令列,以list的格式,所以有時候可以通過判斷這個list的長度來判斷是否有引數值輸入。
print sys.argv[0]
print sys.argv[1]
print sys.argv[2]
上面這些都是後面的引數值了,在函式主體內可以獲取這些值或者判斷這些值來做出響應,比如寫一個help函式,如果判斷=='help',則可以輸出help資訊


上面的方法比較簡單,也很實用

第二種方法是利用OptionParser模組,這個功能比較強大。

我個人理解這個模組的相比較sys模組,就是對輸入引數有了一個細緻的操作處理,對於使用者要輸入的引數通過一個簡單的標示來進行分類各自處理,也可以在一條命令列中對於不同的引數都有一個不同的處理,sys肯定會有順序要求,因為他只能通過列表的順序來獲取引數

比如下面這個,我可以輸入i 或者p , 都會對應一個變數來得到它, filename = i後面的引數值,putname = p後面引數值,這樣在函式內部就可以呼叫了

下面這段程式碼是一個簡單的只有2個選項的程式碼,如有需要可以再加,但是簡單的結構有了,以後的程式碼可以直接用dest是你的函式裡所需要的變數名,當你的命令列裡有i,那麼就會來賦值你的filename=你輸入的在i後面的引數。

from optparse import OptionParser

parse = OptionParser()
parse.add_option('-i','--inputfile',dest='filename'
,help='please input your file') parse.add_option('-p','--putfile',dest='putname',help='please put your name') #(options,argvs) = parse.parse_args() options = parse.parse_args()[0] 這裡引數值對應的引數名儲存在這個options字典裡 print options

當輸入-h 時也可以直接打印出你裡面寫的幫助資訊,很好用,我們可以看到這裡的filename=sun, putname=jin,就按照我們的意願賦值成功了,腳本里就可以直接呼叫filename和putname來使用了

用options.filename和filename.putname字典的使用方法。


相關推薦

python獲取命令引數方法總結

第一種是利用sys.argv模組 import sys print sys.argv 輸出整個命令列,以list的格式,所以有時候可以通過判斷這個list的長度來判斷是否有引數值輸入。 print sys.argv[0] print sys.argv[1] prin

在Windows環境下學習Linux命令方法

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Python獲取命令引數

sys.argv[] 包含命令列引數的字串列表,通過下標獲取引數。 例如: #!/usr/bin/python # Filename: using_sys.py import sys print 'The command line arguments

python 獲取命令引數

最近因工作需要使用Python寫個指令碼,用到了獲取命令列引數,這裡順便總結下做個筆記,下次用到過來瞅瞅就方便的多了 import sys import getopt def usage(): print ("sys.argv[0]: '-a aa -b bb -

python寫入csv檔案的方法總結

最常用的一種方法,利用pandas包import pandas as pd #任意的多組列表 a = [1,2,3] b = [4,5,6] #字典中的key值即為csv中列名 dataframe = pd.DataFrame({'a_name':a,'b_nam

Python 獲得命令引數方法

如果想對python指令碼傳引數,python中對應的argc, argv(c語言的命令列引數)是什麼呢? 需要模組:sys 引數個數:len(sys.argv)指令碼名:    sys.argv[0] 引數1:     sys.argv[1] 引數2:     sys.argv[2]test.py

spring mvc獲取絕對路徑的方法

col 文件 結果 ret 項目 tps span ppr etc 1.首先如果是在一個controller方法中,則很簡單,直接用下面語句。 1 @RequestMapping("categoryHome") 2 public ModelAndVie

Javascript獲取html元素的方法

nbsp code tel html元素 參數 ctype regex head html 1.通過id獲取html元素 <!DOCTYPE html> <html> <head lang="en"> <me

Python創建dict的方法

range () OS style 元組 art 列表創建 pre clas 聲明:轉自CSDN (http://blog.csdn.net/csujiangyu/article/details/45176399) 1. 創建空字典 >>> dic =

python字典遍歷的方法

pytho int itl 遍歷字典 value spa 分享 技術 字典 (1)遍歷key值 >>> a {‘a‘: ‘1‘, ‘b‘: ‘2‘, ‘c‘: ‘3‘} >>> for key in a: print(

C#獲取當前路徑的方法

size start orm name uri path ant tom 當前 //1.獲取模塊的完整路徑。 string path1 = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileNam

electron 獲取命令引數

一 實現 最近要做一個小工具,基於electron的獨立程序,從平臺中雙擊圖示,能夠啟動electron,並且要攜帶一些必要的命令列引數。以為是個很簡單的實現,但發現electron的文件中並沒有說明。最後在atom的討論網站中找到了一個答案,如下: 1 假如你傳的引數為arg1 arg

Linux獲取網頁原始碼的方法 linux爬蟲程式

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

python中取整數的方法

1、向下取整: int() >>> a = 14.38 >>> int(a) 14 2、向上取整:ceil() 使用ceil()方法時需要匯入math模組,例如 >>> import math >>> m

Java 獲取當前日期的方法

import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class getCurrDate { public st

python生成唯一Id的方法

# coding:utf-8 import random def createRandomString(len): print ('wet'.center(10,'*')) raw =

Python解析命令引數

使用Python編寫應用程式或是指令碼的時候,經常會用到命令列引數。C語言中有庫函式getopt解析短命令列引數,使用getopt_long解析短命令和長命令的組合。 Python使用getopt模組,同時解析短命令和長命令。看具體使用例子 #!/usr/bin/python import sys

python 列表去重的方法

1 a = [1,1,1,2,3,3,4,5,6,6,6] a1 = [] for i in a: if i not a1: a1.append(i) else: continue 2 a = [1,1,1,1,2,3,4,4,4,5] a

Dos和Linux檢視命令幫助的方法

1) help [命令]  或者  [命令] /?   適用於內建命令  (DOS比如cd 或telnet) 2) [命令] --help  適用於一般命令 非內建命令 (DOS比如  tel

Python獲取物件屬性的4方法

本文將簡單介紹四種獲取物件的方法。 假如有以下的類: class Person(object): def __init__(self, name, age): self.na