首页 > 解决方案 > Python 检查任何一个参数,但不能同时检查两者

问题描述

我有一个运行 FlaskAPI 的 python3 脚本,我需要 parameterA 或 parameterB 但不是两者都需要。

parameterA = request.form.get('parameterA')
parameterB = request.form.get('parameterB')

if (parameterA is None) or (parameterA == '') :
    print('Parameter A is missing')

我可以检查参数 A,但如何修改它以检查参数 A 或参数 B,但两者都有错误?

标签: python

解决方案


您可以在使用geton时定义一个初始值dict。使用此功能,您可以删除检查,None因为如果值不存在于中,request.form它将使用空字符串 ( ) 启动它。

之后,您可以检查以下任一变量:

parameterA = request.form.get('parameterA','')
parameterB = request.form.get('parameterB','')

#if both of them are '' then you don't have any of them and it raises error
#if none of them are '' then you have both of them and it raises error
if (parameterA == '' and parameterB == '') or (parameterA != '' and parameterB != '') :
    print('Parameter A and B are not suitable')

另一种有趣的方式:

if ['',''] == [parameterA, parameterB] or not ('' in [parameterA, parameterB]) :
    print('Parameter A and B are not suitable')

第一个检查两个空值,第二个检查两个都通过。


推荐阅读