當前位置:首頁 » 編程語言 » python命令行傳參數

python命令行傳參數

發布時間: 2023-08-22 22:21:39

『壹』 python中pip命令的參數有哪些呢

  • pip安裝第三方庫

命令:pip install 庫名

pip安裝會拉取最新版本安裝,想安裝任意版本則可加上版本號

命令:pip install 庫名=版本號

  • 查看pip版本 :pip -V

  • pip升級第三方庫版本

命令:pip install --upgrade 庫名

  • pip自己升級到最新版本

命令:pip install --upgrade pip

  • 查看安裝庫的詳細信息

命令:pip show 庫名

  • 查看已經安裝的第三方庫

pip list --outdated

  • 卸載第三方庫

命令:pip uninstall 庫名

『貳』 Python3腳本傳參實戰(2個方法3個傳參列表的案例)

在一些測試平台對接時或者用例執行時,或多或少會用到Python腳本傳參的問題。

test.py腳本

#!/usr/bin/python3

import sys

print ('參數個數為:', len(sys.argv), '個參數。')

print ('參數列表:', str(sys.argv))

print ('腳本名:', str(sys.argv[0]))

print ('第一個參數:', sys.argv[1])

執行python3 test.py arg1 arg2 arg3

參數個數為: 4 個參數。

參數列表: ['test.py', 'arg1', 'arg2', 'arg3']

腳本名: test.py

第一個參數: arg1

test.py腳本

#!/usr/bin/python3

import argparse

# 生成了一個命令行參數的對象

parser = argparse.ArgumentParser(description='Test for argparse')

parser.add_argument('--name', '-n', help='name屬性,非必要參數')

parser.add_argument('--year', '-y', help='year 屬性,非必要參數,但有默認值', default=2017)

parser.add_argument('--body', '-b', help='body屬性,必要參數', required=True)

args = parser.parse_args()

print (args.year,  args.name, args.body)

查看幫助python3 test.py --help

usage: test.py [-h] [--name NAME] [--year YEAR] --body BODY

Test for argparse

optional arguments:

  -h, --help  show this help message and exit

  --name或-n NAME  name屬性,非必要參數

  --year或-y YEAR  year屬性,非必要參數,但有默認值

  --body或-b BODY  body 屬性,必要參數

執行python3 test.py --year 2021 -n robot  --body "are you ok?"

2021 robot are you ok?

以方法2中的test.py腳本為例

python3 test.py --year 2021 --body [\"test\", \"robot\",\"boy\" ]

2021 ["test", "robot", "boy" ]

以方法1中的test.py腳本為例

python3 test.py [\"test\", \"robot\",\"boy\" ]

參數個數為: 2個參數。

參數列表: ['test.py', '[\"test\", \"robot\", \"boy\" ]']

腳本名: test.py

第一個參數: ["test", "robot", "boy" ]

其實此時傳入的第一個參數是一個字元,需要轉換為列表。

import json

json.loads(sys.argv[1])

test_arg.py腳本

#!/usr/bin/python3

import argparse

import os

# 生成了一個命令行參數的對象

parser = argparse.ArgumentParser(description='Test for argparse')

parser.add_argument('--body', '-b', help='body屬性,必要參數', required=True)

args = parser.parse_args()

print (args.body)

command=python3 + '  ' + test_sys.py+ '  '  + args.body

print (command)

str=('command')

result=os.system(str)

test_sys.py腳本

#!/usr/bin/python3

import sys

import json

print ('第一個參數:', sys.argv[1])

print ('列表:', json.loads(sys.argv[1]))

執行python3 test_arg.py --body  [\"test\", \"robot\",\"boy\" ]

python3  test_sys.py  ["test", "robot", "boy" ]

test_sys.py執行報錯,轉json失敗。

還記得我們案例2中,腳本的傳入指定參數和實際傳入參數嘛?

test_arg.py腳本我們稍微優化下,在傳參前先字元替換下。

["test", "robot", "boy" ]轉換為[\"test\", \"robot\",\"boy\" ]即可。

command.replace(' " ' , r ' \" ') 添加到command=之後,再次運行看看呢?

『叄』 Python筆記:命令行參數解析

有些時候我們需要通過命令行將參數傳遞給腳本,C語言中有個getopt()方法,python中也有個類似的租檔命令行參數解析方法getopt()。python也提供了比getopt()更簡潔的argparse方法。另外,sys模塊也可以實現簡單的參數解析,本文將對這3種命令行參數解析方法簡要介紹。

sys.argv是傳入的參數列表,sys.argv[0]是當前python腳本的名稱,sys.argv[1]表示第一個參數,以此類推。

命令行運行:

可以看到傳入的參數通過sys.argv來獲取,它就是一個參數列表。

python的getopt與C語言的的getopt()函數類似。相比於sys模塊,支持長參數和短參數,並對參數解析賦值。但它需要結合sys模塊進行參數解析,語法格式如下:

短參數為單個英文字母,如果必須賦值需要在後面加英文冒號( : ),長參數一般為字元串(相比短參數,更能說明參數含義),如果必須賦值需要在後面加等號( = )。

命令行運行:

注意:短參數(options)和長參數(long_options)不需要一一對應,可以任意順序,也可以只有短參數或者只有長參數。

argparse模塊提供了很多可以設置的參數,例如參數的默認值,幫助消息,參數的數據類型等。argparse類主要包括ArgumentParser、add_argument和parse_args三個方法。

下面介紹這三個函數的使用方法。

argparse默認提供了 -h | --help 參數:

命令行運行:

下面列出部分參數:

下面來添加參數:

命令行運行:

parse_args() 方法用於解析參數,在前面的示例代碼中使用parse_args方法來提取悄悶參數值,對於無效或者錯誤的參數會列印錯誤信息和幫助信息:

命令行運行:

本文介紹了Python的三種命令行參數解析方法sys.argv、getopt和argparse,可以根據自己的需要進行選擇,getopt和argparse兩種方法相比來說,建議選擇argparse,代碼量更少更簡潔。更詳細啟型彎的使用方法參考官方文檔:

--THE END--

『肆』 Python語言命令行參數解析接收參數執行腳本的三種方法

在Windows系統上,Python腳本文件當然雙擊就能直接運行。不過我們往往需要在執行腳本的時候還要添加相應的參數,另外在Ubuntu系統中,我們執行文件往往和其他系統或用戶命令一樣,需要在終端中輸入,參數當然也要一並加上。所以機智客這里說的意思是,執行Python腳本(.py文件)時候需要輸入相應參數,這樣程序怎麼寫的方法。

上面這么說可能有點不明不白的,或者有朋友會用但未必知道命令行解析這種表達方式。舉個例子,比如我們在執行一個腳本文件的時候,可能會在CMD或者終端中輸入python demo.py 10或者python demo.py --separator 10後面這個數字就是參數。我們要編寫這樣的腳本或者函數,有哪些方法呢?這里列舉三種常用的。

一個是用系統模塊sys。引入模塊語句是import sys。也就是Python語言的內置庫中的sys.argv。argv通常有argv[0],argv[1],argv[2]這樣幾個參數。基本使用方法是m_sil_len = int(sys.argv[1])傳入第一個參數,sil_th = int(sys.argv[2])傳入第二個參數。如果是簡單一點的參數或者腳本,我們引入了sys。可以直接用這個傳入參數。

一種是用模塊argparse來實現,這是標准庫中推薦的命令行解析模塊。引入模塊語句是import argparse。基本使用方法是引入模塊後,先parser = argparse.ArgumentParser()創建對象,然後調用方法添加參數parser.add_argument("jzk", help="這是關於參數的說明", type=int),之後args = parser.parse_args()使用解析就可以用了。機智客看到這個方法在很多項目腳本中使用。我們在閱讀機器學習AI之類的開源項目,就會發現很多人用的都是這個方法。

還有一個就是用fire模塊,用於生成命令行界面的工具。引入模塊語言是import fire。它默認以-為參數分隔符的。基本使用方法是fire.Fire()。這個不僅可以做命令行的參數解析,還可以還給一個類class添加命令行。所以使用時候括弧里填入函數名或者類名即可,也就是裡面的參數可以是其他Python對象。

『伍』 Nuke Python 使用命令行

nuke的命令行如何執行python腳本,請聽詳細分解

通過 -t 參數,可以在 python 解釋器中運行 nuke

可在 -t 後添加 啟動腳本:

nuke運行python腳本時,腳本參數通過sys.argv 傳入,例如運行test.py:

在命令行下運行此腳本,查看包含參數

唯一的特例就是,參數以幀號結尾的:

此種情況,1,20被sys.args分開,被保存在了 nuke.tcl('frames all')中查看所有參數:nuke.rawArgs

例如,編輯test.py

結果:


以上腳本運行語法如下:

當在-t python模式下運行nuke時,其不會渲染和執行任何node
想渲染一個節點,就得這樣來:

當以-x 參數運行時,就切換到渲染幀序列模式,用python腳本,而不是nuke腳本(.nk),nuke執行python腳本先,隨後用給定的幀范圍渲染所有的writes。例如運行 convert.py腳本:

現在從命令行運行腳本,將5幀jpegs轉換成tif

『陸』 python如何通過命令行輸入參數

形式一:直接在命令行輸入參數

第一個紅色框為命令行參數

第二個框為控制台模式(Terminal)

形式二:在編譯工具中配置參數

點擊運行:點擊紅色框 編輯配置

如下圖:紅色框即為設置的命令行參數

熱點內容
c語言中的temp 發布:2025-02-05 02:43:08 瀏覽:123
阿里雲伺服器共享電腦 發布:2025-02-05 02:42:18 瀏覽:417
伺服器有多少台電腦 發布:2025-02-05 02:40:41 瀏覽:447
安卓手機為什麼最新微信安裝不了 發布:2025-02-05 02:31:03 瀏覽:106
安卓手機什麼時候開售 發布:2025-02-05 02:14:15 瀏覽:660
編程車模型 發布:2025-02-05 02:09:55 瀏覽:680
雅馬哈天劍哪個配置好 發布:2025-02-05 02:00:35 瀏覽:170
我的世界國際服推薦118伺服器 發布:2025-02-05 01:50:48 瀏覽:46
普通電腦做伺服器怎麼操作 發布:2025-02-05 01:46:22 瀏覽:628
原神為什麼同伺服器加不起好友 發布:2025-02-05 01:41:03 瀏覽:337