如何从Python脚本中获取返回类型

如何从Python脚本中获取返回类型,python,jenkins,exitstatus,Python,Jenkins,Exitstatus,我将以下代码保存为some_file.py: def some_function(num): return int(num) + 1 if __name__ == "__main__": val = some_function(sys.argv[1]) 当我像这样运行脚本时: some_file.py 10 我想要捕捉返回值。 我尝试了这种方法,但没有成功: if __name__ == "__main__": va

我将以下代码保存为
some_file.py

def some_function(num):
    return int(num) + 1


if __name__ == "__main__":
    val = some_function(sys.argv[1])
当我像这样运行脚本时:

some_file.py 10
我想要捕捉返回值。 我尝试了这种方法,但没有成功:

if __name__ == "__main__":
        val = some_function(sys.argv[1])
        sys.exit(val)

退出代码放入
$?

python some_file.py 10
echo $?
将打印
11

退出代码是一种有限的机制,它只允许0到255之间的值。通常更适合捕获输出

if __name__ == "__main__":
    val = some_function(sys.argv[1])
    print(val)
然后你可以用

somevariable=$(python some_file.py 10)
echo "$somevariable"

退出代码放入
$?

python some_file.py 10
echo $?
将打印
11

退出代码是一种有限的机制,它只允许0到255之间的值。通常更适合捕获输出

if __name__ == "__main__":
    val = some_function(sys.argv[1])
    print(val)
然后你可以用

somevariable=$(python some_file.py 10)
echo "$somevariable"

你如何看待结果?它将在变量
$?
中,我不太明白-为什么您希望整个脚本有一个“返回值”?你想用它做什么?你只是想看到结果吗?或者你想让其他程序知道脚本运行时发生了什么?是的,我想让它包含在某个变量中,因为最后我想从Jenkins运行这个脚本并使用这个变量python脚本需要
#/usr/bin/python
如果您不想在运行时写入
python some_file.py
RESULT=$(python some_file.py 10)
如果您只打印值,它将在shell脚本中工作,但是Jenkins有自己的捕获stdoutHow您正在查看结果吗?它将在变量
$?
中,我不太明白-为什么您希望整个脚本有一个“返回值”?你想用它做什么?你只是想看到结果吗?或者你想让其他程序知道脚本运行时发生了什么?是的,我想让它包含在某个变量中,因为最后我想从Jenkins运行这个脚本并使用这个变量python脚本需要
#/usr/bin/python
如果您不想在运行时写入
python some_file.py
RESULT=$(python some_file.py 10)
只需打印值,就可以在shell脚本中运行,但Jenkins有自己的方法捕获stdoutWhere将$放入sys.exit(val)中?如果不这样做,您可以在shell中使用它,这是存储退出值的地方。也可以从Jenkins后期构建脚本以这种方式运行它吗?我不知道Jenkins。将$放入sys.exit(val)的何处?你不,你在shell中使用它,这是存储退出值的地方。也可以从Jenkins后期构建脚本以这种方式运行它吗?我不知道Jenkins。