Argparse 子命令示例
python
阅读时长: 1 分钟
#python #argparse #文件 #传参
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
import argparse
# 创建ArgumentParser对象
parser = argparse.ArgumentParser(description='这是一个带有子命令的参数解析示例')
# 创建子命令解析器
subparsers = parser.add_subparsers(title='子命令', dest='command')
# 创建子命令1解析器
parser_command1 = subparsers.add_parser('command1', help='执行命令1')
parser_command1.add_argument('-f', '--file', type=str, help='文件名')
# 创建子命令2解析器
parser_command2 = subparsers.add_parser('command2', help='执行命令2')
parser_command2.add_argument('-d', '--directory', type=str, help='目录名')
# 解析命令行参数
args = parser.parse_args()
# 根据子命令执行相应的操作
if args.command == 'command1':
if args.file:
print(f'执行命令1,文件名: {args.file}')
else:
print('请指定文件名')
elif args.command == 'command2':
if args.directory:
print(f'执行命令2,目录名: {args.directory}')
else:
print('请指定目录名')
else:
print('请指定子命令')
|
1
|
python script.py command1 -f file.txt
|
输出结果
1
|
python script.py command2 -d directory
|
输出结果