python - 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,但两者都有错误?
解决方案
您可以在使用get
on时定义一个初始值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')
第一个检查两个空值,第二个检查两个都通过。