1.在Python中,可以使用內建的sys
模組來在Windows和Linux系統中接收命令列引數。
使用sys.argv
,它是一個列表,包含命令列引數。sys.argv[0]
是指令碼名,其餘元素是命令列引數。
示例程式碼:
import sys # 檢查引數個數 if len(sys.argv) < 2: print("請提供至少一個引數。") sys.exit(1) # 獲取第一個引數 first_param = sys.argv[1] # 列印第一個引數 print("第一個引數是:", first_param)
在Windows和Linux系統的命令列中執行這個Python指令碼時,可以這樣傳遞引數
python script.py 引數1
這是接受普通 數字型 或者 字元型 引數的格式。
2.如何接受一個json格式的引數
import sys import json # 檢查命令列引數 if len(sys.argv) > 1: # 假設第一個引數是JSON字串 json_str = sys.argv[1] # 解析JSON字串 try: params = json.loads(json_str) print(params) except json.JSONDecodeError: print("無效的JSON字串") else: print("缺少JSON引數")
但是如果傳入的引數是一個json,那麼在Windows和Linux系統的命令列中執行這個Python指令碼時,傳參格式是不一樣的。
2.1 在Windows命令列中,你可以使用以下命令來呼叫指令碼並傳遞JSON引數:
#window命令列傳入json引數,需要全部使用 雙引號的方式
python your_script.py "{\"key1\": \"value1\", \"key2\": \"value2\"}"
2.2 在Linux命令列中,你可以使用以下命令來呼叫指令碼並傳遞JSON引數:
#linux命令列傳入json引數,外部使用單引號,內部使用 雙引號的方式
python my_script.py '{"name": "John", "age": 30}'
希望能夠對你有所幫助!!!