'Use argparse to send selective arguments to another python script

How do I use argparse to send selective arguments to other scripts. The scripts invoked are imported as modules and the folder structure is as below:

Directory Structure - hello.py
                    - cloud_module
                          - script1
                          - script2

In hello.py script, I am trying to invoke scripts based on argument conditions and pass selective remainder arguments -

hello.py

from cloud_module import script1,script2
import argparse


def parse_arguments(parser):
    parser.add_argument('--name', type=str, required=True)
    parser.add_argument('--cloud', type=str, required=True)
    parser.add_argument('--service', type=str, required=True)
    parser.add_argument('--zone', type=str, required=True)
    parser.add_argument('--billing', type=str, required=True)

def parse_command_line_arguments():
    parser = argparse.ArgumentParser()
    parse_arguments(parser)
    args = parser.parse_args()
    arguments = args.__dict__
    return args

def output(args):

    if args.name == 'script1':
     **// Pass values to script1.py: cloud & service**

    elif args.name == 'script2':
     **// Pass values to script2.py: zone & billing**

if __name__ == "__main__":
    arguments = parse_command_line_arguments()
    output(arguments)

script1.py

import argparse


def parse_arguments(parser):
    parser.add_argument('--cloud', type=str, required=True)
    parser.add_argument('--service', type=str, required=True)

def parse_command_line_arguments():
    parser = argparse.ArgumentParser()
    parse_arguments(parser)
    args = parser.parse_args()
    arguments = args.__dict__
    return args

def func1(arguments):
    print('this is script1')

if __name__ == "__main__":
    arguments = parse_command_line_arguments()
    func1(arguments)


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source