解析路径和参数

时间:2018-08-06 12:09:09

标签: python python-3.x file path argparse

我在python 3.7中有此脚本:

pars = argparse.ArgumentParser(prog='copy dirs script', description="à copier MSRE localment:",
                               epilog="Comme ça on copie les repertoires")

pars.add_argument("-o", "--output", action='store_const', default=destination_file,
                         const=destination_file1, 
                       help="the destination dirctory is the curently working dirctory")
pars.add_argument("-a", "--arch", choices=("all", "i386", "x86_64"), type = lambda s : s.lower(),
                       help="Targeted check architecture: 32b, 64b, All")
pars.add_argument("-p", "--platform", choices=("all", "windows", "linux"), type = lambda s : s.lower(),
                       help="Targeted check platform: Windows, Linux, All")
args = pars.parse_args()

我想在命令行中解析输出,例如:

python script.py -o C:/Users/michael/Documents/install -a all -p windows

我不知道如何将输出存储到变量中。 我该怎么办?

2 个答案:

答案 0 :(得分:1)

您可以使用以下方法访问参数:

正如您在注释中建议的那样,您所需要做的就是访问-输出 -o ,将您的add_argument更改为类似于我在下面添加的内容

    pars.add_argument("-o", "--output", default=destination_file, 
                       help="the destination dirctory is the curently working dirctory")
    platform = args.platform
    architecture = args.arch
    output = args.output

依此类推,对于您要访问的任何其他参数,应该在args变量中可用。浏览文档以获取更多信息 Documentation

答案 1 :(得分:0)

您可以获得使用vars(args)传递的args的字典。 args.parse_args()返回Namespace object,然后可以在其上使用vars(args)以获得字典。使用https://docs.python.org/3/tutorial/datastructures.html了解如何操作字典。
如果您不想了解字典或想保持简单,则其他答案可能会更好:)