Python处理命令行参数可选sys.argv或argparse模块:前者适用于简单脚本,直接通过列表访问参数;后者适合复杂场景,支持参数类型、默认值、帮助信息等高级功能。

Python处理命令行参数主要有两种方式:
sys.argv
argparse
sys.argv
sys.argv
sys.argv[0]
import sys
print("脚本名称:", sys.argv[0])
if len(sys.argv) > 1:
print("参数:", sys.argv[1:])
else:
print("没有参数")例如,如果你运行
python your_script.py arg1 arg2
sys.argv
['your_script.py', 'arg1', 'arg2']
argparse
argparse
立即学习“Python免费学习笔记(深入)”;
import argparse
parser = argparse.ArgumentParser(description="一个示例程序")
parser.add_argument("filename", help="要处理的文件名")
parser.add_argument("-v", "--verbose", action="store_true", help="增加输出的详细程度")
parser.add_argument("-o", "--output", help="输出文件名")
args = parser.parse_args()
print("文件名:", args.filename)
if args.verbose:
print("详细模式已启用")
if args.output:
print("输出文件名:", args.output)使用
argparse
filename
-v
-o
action='store_true'
-v
args.verbose
True
False
help
sys.argv
argparse
sys.argv
argparse
argparse
sys.argv
argparse
action
argparse
action
'store'
'store_const'
'store_true'
'store_false'
'append'
'append_const'
'count'
'help'
'version'
理解这些
action
'append'
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-i", "--input", action="append", help="输入文件")
args = parser.parse_args()
if args.input:
print("输入文件:", args.input)如果运行
python your_script.py -i file1.txt -i file2.txt
args.input
['file1.txt', 'file2.txt']
argparse
有时候,你可能需要定义一组参数,这些参数不能同时出现。例如,你可能希望用户要么提供输入文件,要么提供一个URL,但不能同时提供两者。
argparse
add_mutually_exclusive_group()
import argparse
parser = argparse.ArgumentParser()
group = parser.add_mutually_exclusive_group()
group.add_argument("-f", "--file", help="输入文件")
group.add_argument("-u", "--url", help="输入URL")
args = parser.parse_args()
if args.file:
print("输入文件:", args.file)
elif args.url:
print("输入URL:", args.url)
else:
print("必须提供文件或URL")在这个例子中,
-f
-u
argparse
argparse
对于更复杂的命令行工具,你可能需要支持子命令。例如,
git
git commit
git push
argparse
add_subparsers()
import argparse
parser = argparse.ArgumentParser()
subparsers = parser.add_subparsers(dest="command", help="子命令")
# 创建 'add' 子命令
add_parser = subparsers.add_parser("add", help="添加文件")
add_parser.add_argument("filename", help="要添加的文件名")
# 创建 'remove' 子命令
remove_parser = subparsers.add_parser("remove", help="移除文件")
remove_parser.add_argument("filename", help="要移除的文件名")
args = parser.parse_args()
if args.command == "add":
print("添加文件:", args.filename)
elif args.command == "remove":
print("移除文件:", args.filename)在这个例子中,我们创建了两个子命令:
add
remove
python your_script.py add file.txt
python your_script.py remove file.txt
args.command
以上就是python中如何处理命令行参数_Python sys.argv与argparse模块详解的详细内容,更多请关注php中文网其它相关文章!
python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号