识别当前运行的票据

2024-04-25 10:01:26 发布

您现在位置:Python中文网/ 问答频道 /正文

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

这个问题有解决办法吗


Tags: py脚本addconfigparserinput参数parse
1条回答
网友
1楼 · 发布于 2024-04-25 10:01:26

你要找的是__file__。然而,这并不能被误认为是sys.argv[0]

sys.argv[0]给出模块的入口点,即应用程序的启动点如果这是一个django应用程序sys.argv[0]将给出manage.py,而__file__将返回当前运行脚本的绝对路径

相关问题 更多 >