1. 示例代码
parser = argparse.ArgumentParser(description='检查服务器硬件信息脚本帮助指令:')
parser.add_argument('-a', '--all', nargs='?', type=str, const='hardware.txt', help='默认参数,无其他参数情况下默认输出所有服务器硬件信息')
parser.add_argument('-c', '--cluster', type=str, help='--cluster=[cluster_id] 可输出对应集群的信息')
args = parser.parse_args()
with open("/文件路径", 'r') as f:
lines = f.readlines()
filtered_lines = []
for line in lines:
if args.cluster and args.cluster not in line:
continue
filtered_lines.append(line)
print(''.join(filtered_lines))
-
在上面的代码中,argparse.ArgumentParser() 定义了一个新的 ArgumentParser 对象。然后使用 parser.add_argument() 方法添加必选参数和可选参数。
-
在这个例子中,可选参数-a为默认参数,默认输出,效果为展示所有文件内的内容,-c用来指定cluster集群进行过滤。最后,使用 parser.parse_args() 进行解析,并将结果存储在 args 中。
-
在处理文件内容时,可以根据 args 中的可选参数进行操作。在这个例子中,使用 args.cluster来进行内容搜索。如果这些参数没有设置,则不执行相应的操作。
-
通过使用 argparse 库,可以非常容易地添加参数筛选文件内容,并且可以取消必选参数选项,其中
nargs='?', const='hardware.txt'
用来取消默认参数。(此处示例) -
然后,打开文件并读取其中的行。对于每一行,检查它是否符合任何一个参数的筛选条件。如果不符合条件,则跳过该行。最后,将符合条件的行合并并打印到控制台中。
2. 结果图示例