Python 如何只使用一个反斜杠向数据库发送字符串查询?

Python 如何只使用一个反斜杠向数据库发送字符串查询?,python,regex,influxdb,Python,Regex,Influxdb,我正在尝试使用Python搜索XDB数据库中与特定坐标非常匹配的数据。我已将所有坐标从lat/lon转换为9C4WXRRQ+69。为了在XDB中搜索类似的代码,我需要使用RegEx,这要求我使用反斜杠转义“+”字符 当我从Python发送查询时,它会添加第二个反斜杠,我知道Python使用该反斜杠来显示单个反斜杠,然后导致查询失败。有没有办法只使用一个反斜杠从Python发送字符串查询,或者我应该坚持使用fudding-it方法,从代码中删除所有的“+”符号,从而消除这种需要 我已经尝试了下面问

我正在尝试使用Python搜索XDB数据库中与特定坐标非常匹配的数据。我已将所有坐标从lat/lon转换为9C4WXRRQ+69。为了在XDB中搜索类似的代码,我需要使用RegEx,这要求我使用反斜杠转义“+”字符

当我从Python发送查询时,它会添加第二个反斜杠,我知道Python使用该反斜杠来显示单个反斜杠,然后导致查询失败。有没有办法只使用一个反斜杠从Python发送字符串查询,或者我应该坚持使用fudding-it方法,从代码中删除所有的“+”符号,从而消除这种需要

我已经尝试了下面问题中提到的方法,以及其他多个方法,但都发送了一个双反斜杠

在Influx CMD中,我可以使用以下命令:

SELECT count(olc) FROM OLC WHERE olc =~ /9C4WXRRQ\+69*/
返回:

name: OLC
time count
---- -----
0    1104
但是,如果我从Python发送相同的查询:

influx.query("SELECT count(olc) FROM OLC WHERE olc =~ /9C4WXRRQ\+69*/")
XDB读数显示以下内容,显示双反斜杠并返回空白响应:

2019-01-17T14:20:28.849772Z     info    Executing query {"log_id": "0C~7QHG0000", "service": "query", "query": "SELECT count(olc) FROM olctest.autogen.OLC WHERE olc =~ /9C4WXRRQ\\+69*/"}
如果我从加号代码中删除所有的“+”号,查询工作正常:

influx.query("SELECT count(olc) FROM OLC WHERE olc =~ /9C4WXRRQ69*/")
导致:

ResultSet({'('OLC', None)': [{'time': '1970-01-01T00:00:00Z', 'count': 1104}]})

这表明从Python进行查询不是问题。

在请求中必须使用两个反拉\\。一个反斜杠在python中被认为是一个特殊字符

我不懂python,但是有没有办法用二进制替换反斜杠?也许?试试这个influx.querySELECT countolc FROM OLC,其中OLC=~/9C4WXRRQ++\\++69*/我能做的是用“+”替换“+”。”regex:搜索数据库时的任何字符。这样可以存储和搜索true plus代码,同时消除任何反斜杠问题。Python之外的双反斜杠似乎仍然是一个疏忽。添加双反斜杠而不是单反斜杠似乎有效。我会再测试一下以确认。