在使用用户输入的值构建python字典时,是否需要转义字符串?
我正在使用瓶子的请求对象获取用户输入 然后我创建了一个字典作为在使用用户输入的值构建python字典时,是否需要转义字符串?,python,Python,我正在使用瓶子的请求对象获取用户输入 然后我创建了一个字典作为 dict = {..., 'user_text': request.params.get('user_text'), ..., } 是否有可能导致本词典中断的输入?例如,以某种方式使用冒号字符。我是否应该将request.params.get('user_text')转换为unicode否,因为您没有将用户输入作为Python表达式进行计算;请求参数始终是Python对象(本例中为字符
dict = {...,
'user_text': request.params.get('user_text'),
...,
}
是否有可能导致本词典中断的输入?例如,以某种方式使用冒号字符。我是否应该将request.params.get('user_text')转换为unicode否,因为您没有将用户输入作为Python表达式进行计算;请求参数始终是Python对象(本例中为字符串)
只有当您将请求参数解释为某种形式的代码(pickles、SQL、带有
eval()
或exec的python表达式)或允许其他程序解释参数(浏览器中的HTML、插入JavaScript的值等),您才需要担心转义。否,您不需要转义user\u文本
param。没有问题,您的dict将始终被构建(当然,如果request.params.get('user_text')
返回一些内容)。我必须将此字典作为JSON编码字符串存储在数据库中,我使用JSON.dumps(dict)。我需要一些转义吗?不,JSON库为您处理任何转义。