【发布时间】:2019-03-15 23:12:20
【问题描述】:
假设我有一个管理命令行参数的config.py
parser = argparse.ArgumentParser()
parser.add_argument('common_argument')
args = parser.parse_args()
input_common = args. common_argument
这个文件是从我在项目中执行的许多其他脚本中导入的。但是,其中有一些脚本需要额外的参数,例如special_file.py。如何添加这些参数?
备选方案 1
在config.py 中,我标识了正在导入它以添加附加参数的脚本。假设有一个像__importing_file__ 这样的变量,那么我可以这样做
if __importing_file__ == 'special_file':
parser.add_argument('special_argument')
但是,我不知道如何识别当前正在运行的脚本。有可能吗?
备选方案 2
在我的special_file.py 中,我可以简单地添加另一个参数并再次解析,即
from config import *
parser.add_argument('special_argument')
args = parser.parse_args()
input_special = args.special_argument
但是,python 无法识别special_argument。
这个问题有解决办法吗?
【问题讨论】: