在另一个脚本中使用argparse运行python脚本

在另一个脚本中使用argparse运行python脚本,python,import,module,argparse,Python,Import,Module,Argparse,我有一个python脚本,它通过argparse使用一些输入参数 大概是这样的: **hello.py** import argparse parser = argparse.ArgumentParser() parser.add_argument("-n", "--name", required=True, help="name of the user") arguments = parser.parse_args() print(

我有一个python脚本,它通过argparse使用一些输入参数

大概是这样的:

**hello.py**

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-n", "--name", required=True, help="name of the user")
arguments = parser.parse_args()
print(f'Hello, {arguments.name}')
我想知道这是否可以在另一个.py脚本中运行

**another.py**

names = ['Lu', 'Li', 'La']
for name in names: 
    import hello.py -n name #this is how to run script from console

这个想法有什么棘手的代码吗?

您可以默认设置为从环境变量解析

**hello.py**

import argparse
from os import environ
parser = argparse.ArgumentParser()
parser.add_argument("-n", "--name", required=True, help="name of the user", default=environ.get("BAR"))
arguments = parser.parse_args()
print(f'Hello, {arguments.name}')
**another.py**
from os import environ
names = ['Lu', 'Li', 'La']
for name in names:
    environ["BAR"] = name
    import hello.py
然后修改环境变量

**hello.py**

import argparse
from os import environ
parser = argparse.ArgumentParser()
parser.add_argument("-n", "--name", required=True, help="name of the user", default=environ.get("BAR"))
arguments = parser.parse_args()
print(f'Hello, {arguments.name}')
**another.py**
from os import environ
names = ['Lu', 'Li', 'La']
for name in names:
    environ["BAR"] = name
    import hello.py