在Python中,可以使用argparse
庫來讀取和驗證命令行參數。argparse
庫可以幫助你輕松地編寫用戶友好的命令行接口,并提供了對參數的驗證功能。
以下是一個簡單的示例,展示了如何使用argparse
庫讀取和驗證命令行參數:
import argparse
def validate_positive_int(value):
try:
int_value = int(value)
if int_value <= 0:
raise argparse.ArgumentTypeError(f"{value} must be a positive integer")
return int_value
except ValueError:
raise argparse.ArgumentTypeError(f"{value} must be an integer")
def main():
parser = argparse.ArgumentParser(description="Example script to read and validate command line arguments")
parser.add_argument("number", type=validate_positive_int, help="A positive integer to be validated")
args = parser.parse_args()
print(f"Validated number: {args.number}")
if __name__ == "__main__":
main()
在這個示例中,我們定義了一個名為validate_positive_int
的函數,用于驗證輸入值是否為正整數。然后,我們使用argparse.ArgumentParser
創建一個解析器對象,并添加一個名為number
的命令行參數,將其類型設置為validate_positive_int
函數。最后,我們調用parser.parse_args()
解析命令行參數,并在main
函數中使用這些參數。
當你運行這個腳本并提供一個正整數參數時,它將輸出驗證后的數值。如果提供的參數不是正整數,它將顯示一個錯誤消息。例如:
$ python example.py 5
Validated number: 5
如果提供的參數不是正整數,例如:
$ python example.py -5
usage: example.py [-h] number
example.py: error: argument number: -5 must be a positive integer