假设我有一个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
这个问题有解决办法吗
你要找的是
__file__
。然而,这并不能被误认为是sys.argv[0]
sys.argv[0]
给出模块的入口点,即应用程序的启动点如果这是一个django应用程序sys.argv[0]
将给出manage.py
,而__file__
将返回当前运行脚本的绝对路径相关问题 更多 >
编程相关推荐