Python3 - argparse 开关和文件
Python3 - argparse switch and file
你好,我正在尝试实现一个小程序,它接受 1 个标志 -s
和一个文件
我想做以下事情:
当我要排序时:
$./my_program.py -s someFile.txt
当我不想排序时:
$./my_program.py someFile.txt
这是我尝试过的:
import argparse
parser = argparse.ArgumentParser(description='A tutorial of argparse!')
parser.add_argument("-s", default=False, type=bool, help="Is the DAG sorted? If yes, use the \'-s\' flag")
parser.add_argument('filename', help="Your database file")
args = parser.parse_args()
当我尝试从命令行 运行 它时,我尝试了这个:
my_program.py -s SortedDB.txt
我得到:
error: the following arguments are required: filename
如果我这样做:
my_program.py -s filename SortedDB.txt
有效
或者这个:
iota_ledger_task.py iotaSortedDB.txt
它进入未排序的情况(预期行为),有效。
我可能做错了什么?
您需要 action="store_true"
而不是 type=bool
文档:Actions
你好,我正在尝试实现一个小程序,它接受 1 个标志 -s
和一个文件
我想做以下事情: 当我要排序时:
$./my_program.py -s someFile.txt
当我不想排序时:
$./my_program.py someFile.txt
这是我尝试过的:
import argparse
parser = argparse.ArgumentParser(description='A tutorial of argparse!')
parser.add_argument("-s", default=False, type=bool, help="Is the DAG sorted? If yes, use the \'-s\' flag")
parser.add_argument('filename', help="Your database file")
args = parser.parse_args()
当我尝试从命令行 运行 它时,我尝试了这个:
my_program.py -s SortedDB.txt
我得到:
error: the following arguments are required: filename
如果我这样做:
my_program.py -s filename SortedDB.txt
有效
或者这个:
iota_ledger_task.py iotaSortedDB.txt
它进入未排序的情况(预期行为),有效。
我可能做错了什么?
您需要 action="store_true"
而不是 type=bool
文档:Actions