使用argparse库可以很方便地处理命令行参数,并且可以与标准输入(stdin)相关的参数。
下面是一个示例代码,演示了如何使用argparse库来处理与标准输入相关的参数:
import argparse
import sys
def main():
parser = argparse.ArgumentParser(description='Process some input from stdin.')
parser.add_argument('-f', '--file', type=argparse.FileType('r'), default=sys.stdin,
help='input file (default: stdin)')
args = parser.parse_args()
# 处理输入
for line in args.file:
# 对每一行进行处理
print(line.strip())
if __name__ == '__main__':
main()
在上面的代码中,我们使用argparse库创建了一个ArgumentParser对象,并设置了一个参数--file
(或-f
),该参数用于指定输入文件,默认为stdin。argparse.FileType('r')
用于指定参数的类型为文件输入,并且允许读取文件。
在main()
函数中,我们首先通过parser.parse_args()
解析命令行参数,然后使用args.file
来获取输入文件对象。
最后,我们可以像处理文件一样,使用args.file
来逐行处理输入。
使用示例:
$ python script.py -f input.txt
上述命令将会以input.txt
作为输入文件进行处理。
$ python script.py
上述命令将会从stdin中读取输入进行处理。
希望以上解决方法能够帮助到你!