如何解决在另一个脚本中使用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