更好的命令行解析 python
Nicer command line parse python
我使用 argparse 创建了一个小脚本,其中包含用于我的分析程序的命令行解析器,它是自制 python 包的一部分。效果很好,就是不太喜欢怎么控制。
这是代码在脚本中的样子
def myAnalysis():
parser = argparse.ArgumentParser(description='''
lala''')
parser.add_argument('-d', '--data',help='')
parser.add_argument('-e', '--option_1', help='', default=False, required=False)
parser.add_argument('-f', '--option_2', help='', default=False, required=False)
# combine parsed arguments
args = parser.parse_args()code here
除此之外还有一些在分析包的设置文件中
entry_points={
'console_scripts': [
'py_analysis = edit.__main__:myAnalysis'
]
正如我所说,这没有任何问题。要分析一些数据,我必须使用
py_analysis --data path_to_data_file
有时候,我需要一些选项。为此,它可能看起来像 loke
py_analysis --data path_to_data_file --option_1 True --option_2 True
以我个人的口味,这有点难看。我更喜欢
py_analysis path_to_data_file --option_1 --option_2
我很确定这是可能的。我只是不知道如何
使用store_true操作
parser.add_argument('-e', '--option_1', help='', default=False, action ='store_true')
然后只需添加到命令行 --option_1 会将其值设置为 True.
要使用位置参数而不是选项,请替换:
parser.add_argument('-d', '--data',help='')
作者:
parser.add_argument('data_file', help='')
我使用 argparse 创建了一个小脚本,其中包含用于我的分析程序的命令行解析器,它是自制 python 包的一部分。效果很好,就是不太喜欢怎么控制。
这是代码在脚本中的样子
def myAnalysis():
parser = argparse.ArgumentParser(description='''
lala''')
parser.add_argument('-d', '--data',help='')
parser.add_argument('-e', '--option_1', help='', default=False, required=False)
parser.add_argument('-f', '--option_2', help='', default=False, required=False)
# combine parsed arguments
args = parser.parse_args()code here
除此之外还有一些在分析包的设置文件中
entry_points={
'console_scripts': [
'py_analysis = edit.__main__:myAnalysis'
]
正如我所说,这没有任何问题。要分析一些数据,我必须使用
py_analysis --data path_to_data_file
有时候,我需要一些选项。为此,它可能看起来像 loke
py_analysis --data path_to_data_file --option_1 True --option_2 True
以我个人的口味,这有点难看。我更喜欢
py_analysis path_to_data_file --option_1 --option_2
我很确定这是可能的。我只是不知道如何
使用store_true操作
parser.add_argument('-e', '--option_1', help='', default=False, action ='store_true')
然后只需添加到命令行 --option_1 会将其值设置为 True.
要使用位置参数而不是选项,请替换:
parser.add_argument('-d', '--data',help='')
作者:
parser.add_argument('data_file', help='')