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

问题描述

我有一个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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...