gpt4 book ai didi

python - XQuery 到 API Python 字符串

转载 作者:太空宇宙 更新时间:2023-11-03 21:37:26 25 4
gpt4 key购买 nike

我正在使用 Postman 将 Xqueries 转换为 API 的 Python 字符串。我现在需要能够在不使用 Postman 的情况下将纯 Xquery 字符串转换为 Python 中的 API 字符串。

例如,这里是字符串形式的 Xquery

query_string = "xquery version '1.0-ml'; declare namespace html = 'http://www.w3.org/1999/xhtml'; fn:count(fn:collection('foo'))"

使用Postman转换为以下字符串:

"xquery=xquery%20version%20%221.0-ml%22%3B%0Adeclare%20namespace%20html%20%3D%20%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%22%3B%0Afn%3Acount(fn%3Acollection('foo'))%0A%0A"

我现在需要创建与上面相同的字符串。如果我尝试使用 urrllib.parse.quote,它会更改括号和 ' 并生成字符串:

urllib.parse.quote(query_string)

'xquery%20version%20%271.0-ml%27%3B%20declare%20namespace%20html%20%3D%20%27http%3A//www.w3.org/1999/xhtml%27%3B%20fn%3Acount%28fn%3Acollection%28%27foo%27%29%29'

是否有其他方法可以获得所需的字符串结果以匹配 Postman 使用普通 Python 生成的结果?

最佳答案

我不确定问题的措辞方式所期望的结果是什么,但是如果您不希望对括号进行编码(不确定为什么您想要这样,因为这是正确的行为),您可以通过 safe urllib.parse.quote 的参数

>>> urllib.parse.quote(query_string, safe='()')
'xquery%20version%20%271.0-ml%27%3B%20declare%20namespace%20html%20%3D%20%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%27%3B%20fn%3Acount(fn%3Acollection(%27foo%27))'

关于python - XQuery 到 API Python 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53156078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com