国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Python查詢參數標準化的4種方法詳細說明

89542767 / 1247人閱讀

  在平時的撰寫Python腳本制作的過程當中,我們通常需要根據查詢參數傳到某些自變量主要參數,使新項目應用更加靈便便捷。本文列舉了搭建Python查詢參數的4種普遍方法,所需要的可以了解一下


  小伙伴們好,在平時的撰寫Python腳本制作的過程當中,我們通常需要根據查詢參數傳到某些自變量主要參數,使新項目應用更加靈便便捷


  本文我們將列舉出搭建Python查詢參數的4種普遍方法


  分別是:


  內嵌sys.argv控制模塊


  內嵌argparse控制模塊


  內嵌getopt模塊


  第三方平臺依賴庫click


  1.sys.argv


  搭建查詢參數非常簡單、普遍的方法是運用內嵌的「sys.argv」控制模塊


  它是把主要參數以一種規范有序目錄傳到,因而在使用過程中傳參次序務必固定不動


  因而,這種方法適用主要參數數量少且情景固定工程中


  import sys
  if __name__=='__main__':
  #獲取參數列表
  #注意:sys.argv[0]代表第一個參數,即:腳本名稱「1_sys.argv.py」
  #其他參數列表
  args=sys.argv[1:]
  #參數個數
  args_length=len(sys.argv)if sys.argv else 0
  print("排除運行主文件參數,其他參數列表為:",args)
  print("參數總數:",args_length)
  #應用
  #python31_sys.argv.pyarg1arg2
  #清除運作主文件主要參數,別的參數列表為:[arg1,arg1]
  #主要參數數量:3


  需注意,在腳本制作中以「sys.argv」獲得的參數列表中,第一位主要參數意味著腳本制作主文件目錄


  2.argparse


  內嵌的argparse控制模塊能夠比較輕松地編寫出友好argv腳本制作,而且它會一鍵生成協助操作手冊,在客戶給程序流程傳到失效主要參數時可以拋出去清楚的錯誤報告


  官方文檔


  使用這些搭建argv包括3個階段:


  搭建主要參數分析對象添加主要參數加上主要參數分析主要參數


  1.搭建argv分析總體目標


  importargparse
  ...
  #建立一個argv分析總體目標
  parser=argparse.ArgumentParser(description='argv')
  ...


  2.加上argv


  務必注意的是,--arg1用以特定主要參數名字,-a1意味著dest總體目標變量類型(縮寫)


  ...
  #設定3個主要參數
  #主要參數1:arg1,浮點型,非必要調用方法
  #主要參數2:arg2,字符串數組,非必要調用方法,包括初始值「xag」
  #主要參數3:arg3,字符串類型,務必傳到的主要參數
  parser.add_argument('--arg1','-a1',type=int,help='主要參數1,非必要主要參數')
  parser.add_argument('--arg2','-a2',type=str,help='主要參數2,非必要主要參數,包括初始值',default='xag')
  parser.add_argument('--arg3','-a3',type=str,help='主要參數3,務必主要參數',required=True)
  ...


  3.分析出變量值


  ...
  #分析主要參數,獲得每一個argv(Namespace),隨后變為詞典
  args=vars(parser.parse_args())
  #獲得全部主要參數
  print("全部argv為:")
  forkeyinargs:
  print(f"argv名:{key},變量值:{args[key]}")
  ...
  使用時,大家就可以用「-h/--help」指令主要參數查詢幫助文件
  #查詢argv幫助文件
  python32_argparse.py--help
  #或
  python32_argparse.py-h
  上邊使用的3個主要參數,參數arg1、arg2非必要傳值,arg3務必傳值,此外參數arg2特定了初始值
  #參數arg3務必,參數arg1和參數arg2非必要,在其中參數arg2設置權限初始值
  #調用方法arg3
  #python32_argparse.py--arg3123
  #python32_argparse.py-a3123
  xingag xingagdeMacBook-Proargs%python32_argparse.py-a3123
  全部argv為:
  argv名:arg1,變量值:None
  argv名:arg2,變量值:xag
  argv名:arg3,變量值:123
  #調用方法arg1、arg3
  xingag xingagdeMacBook-Proargs%python32_argparse.py-a1111-a3123
  全部argv為:
  argv名:arg1,變量值:111
  argv名:arg2,變量值:xag
  argv名:arg3,變量值:123
  #調用方法arg1、arg2、arg3
  xingag xingagdeMacBook-Proargs%python32_argparse.py-a1111-a2222-a3123
  全部argv為:
  argv名:arg1,變量值:111
  argv名:arg2,變量值:222
  argv名:arg3,變量值:123

  3.getopt


  getopt是Python中的內嵌標準模塊,需要結合sys.argv控制模塊,立即分析腳本運行時主要參數


  應用文件格式:getopt(args,shortopts,longopts=[])


  其中


  args


  參數列表,可以通過sys.argv獲取,可以參考上面


  shortopts短參數組成的字符串


  定義短參數,如果參數有值,需要在短參數后追加一個「:」符號


  傳參使用方式:-n 23


  longopts長參數列表


  定義長參數列表時,如果某個參數有值,需要在短參數后追加一個「=」符號


  傳參使用方式:–port 8080


  這里以傳入數據庫連接參數為例(參數包含ip、用戶名、密碼、數據庫名稱)進行講解


  from getopt import getopt
  import sys
  #獲取參數
  #sys.argv[1:]:獲取除腳本文件名外的所有命令行參數
  #opts:存有所有選項及其輸入值的元組列表
  #args:去除有用的輸入以后剩余的部分
  opts,args=getopt(sys.argv[1:],'i:u:p:d:',['ip=','user=','pwd=','db='])
  #獲取參數值
  #短參數
  #python3 4_getopt.py-i 127.0.0.1-u root-p 123456-d mysqldb
  #長參數
  #python3 4_getopt.py--ip 127.0.0.1-u root-p 123456-d mysqldb
  ip_pre=[item[1]for item in opts if item[0]in('-i','--ip')]
  ip=ip_pre[0]if len(ip_pre)>0 else None
  print("參數ip:",ip)
  user_pre=[item[1]for item in opts if item[0]in('-u','--user')]
  user=user_pre[0]if len(user_pre)>0 else None
  print("參數user:",user)
  pwd_pre=[item[1]for item in opts if item[0]in('-p','--pwd')]
  pwd=pwd_pre[0]if len(pwd_pre)>0 else None
  print("參數pwd:",pwd)
  db_pre=[item[1]for item in opts if item[0]in('-d','--db')]
  db=db_pre[0]if len(db_pre)>0 else None
  print("參數db:",db)
  在運行腳本時,我們可以利用「短參數」或「長參數」形式進行傳遞
  #測試
  #短參數
  python3 4_getopt.py-i 127.0.0.1-u root-p 123456-d mysqldb
  #長參數
  python3 4_getopt.py--ip 127.0.0.1--user root--pwd 123456--db mysqldb


  4.click


  click作為第三方依賴庫,它為命令行工具封裝了大量的方法,可以非常方便實現命令行參數


  項目地址


  首先,我們需要安裝依賴庫click


  import click
  #安裝依賴
  #pip3 install-U click
  click.command()
  click.option('--arg1',default='111',help='參數arg1,默認值為「111」')
  click.option('--arg2',type=int,help='參數arg2')
  click.option('--arg3',type=str,help='參數arg3')
  def start(arg1,arg2,arg3):
  """
  基于參數arg1、參數arg2、參數arg3運行項目
  :param arg1:
  :param arg2:
  :param arg3:
  :return:
  """
  print("參數arg1值為:",arg1)
  print("參數arg2值為:",arg2)
  print("參數arg3值為:",arg3)
  if __name__=='__main__':
  start()


  然后,在主運行函數上通過裝飾器配置參數即可


  比如,上面就定義了3個命令行參數arg1、arg2、arg3,并設置了參數的類型及默認值


  最后,在運行腳本時只需要按參數設定傳遞對應的值即可


  #不包含參數
  xingag xingagdeMacBook-Pro args%python3 3_click.py
  參數arg1值為:111
  參數arg2值為:None
  參數arg3值為:None
  #包含參數arg1
  xingag xingagdeMacBook-Pro args%python3 3_click.py--arg1 test1
  參數arg1值為:test1
  參數arg2值為:None
  參數arg3值為:None
  #包含參數arg1、arg2
  #注意:arg2的參數類型為整形,傳入的參數必須能轉為整形,否則會報錯
  xingag xingagdeMacBook-Pro args%python3 3_click.py--arg1 test1--arg2 222
  參數arg1值為:test1
  參數arg2值為:222
  參數arg3值為:None
  #包含參數arg1、arg2、arg3
  xingag xingagdeMacBook-Pro args%python3 3_click.py--arg1 test1--arg2 222--arg3 test3
  參數arg1值為:test1
  參數arg2值為:222
  參數arg3值為:test3

  最終


  上邊根據案例介紹了完成Pythonargv比較常見的4種方法


  對于部分簡易自購并且不那樣正規情景,個人感覺可以選擇用sys.argv控制模塊迅速搭建argv;但對某些主要參數多、以用戶為中心的宣布工作環境,提議運用argparse控制模塊或click依靠來建立argv

       

      綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家帶來幫助。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129064.html

相關文章

  • Python查詢參數4方法詳細說明

      在平時的撰寫Python腳本制作的過程當中,我們通常需要根據查詢參數傳到某些自變量基本參數,使新項目應用更加靈便便捷。本文列舉了搭建Python查詢參數的4種普遍方法,所需要的可以了解一下小伙伴們好,在平時的撰寫Python腳本制作的過程當中,我們通常需要根據查詢參數傳到某些自變量基本參數,使新項目應用更加靈便便捷  本文我們將列舉出搭建Python查詢參數的4種普遍方法  分別是:  內嵌s...

    89542767 評論0 收藏0
  • JDBC干貨篇一

    摘要:干貨篇一基礎的全稱是,即數據庫連接,它是一種可以執行語句的。將光標移動到上一行,如果超過結果集的范圍則返回。列索引從開始,意味著行中的第一列是,第二列是,以此類推。 JDBC干貨篇一 JDBC基礎 JDBC的全稱是Java Database Connectivity,即Java數據庫連接,它是一種可以執行SQL語句的Java API。程序可通過JDBC API連接到關系數據庫,并使用...

    hiyang 評論0 收藏0
  • Python3網絡爬蟲實戰---29、解析庫使用:BeautifulSoup

    摘要:解析器在解析的時候實際上是依賴于解析器的,它除了支持標準庫中的解析器,還支持一些第三方的解析器比如,下面我們對支持的解析器及它們的一些優缺點做一個簡單的對比。 上一篇文章:Python3網絡爬蟲實戰---28、解析庫的使用:XPath下一篇文章:Python3網絡爬蟲實戰---30、解析庫的使用:PyQuery 前面我們介紹了正則表達式的相關用法,但是一旦正則寫的有問題,可能得到的就...

    MockingBird 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<