Python在变量中保留转义字符

Python在变量中保留转义字符,python,sql-server,pyodbc,Python,Sql Server,Pyodbc,我想使用PyODBC连接到SQL Server connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password) username应该是“MYCOMPANY\username”因此,我将变量username设置为:username=“MYCOMPANY\\username” 问题是我遇到了以下错误: pyodbc.In

我想使用PyODBC连接到SQL Server

connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
username
应该是
“MYCOMPANY\username”
因此,我将变量
username
设置为:
username=“MYCOMPANY\\username”

问题是我遇到了以下错误:

pyodbc.InterfaceError: ('28000', "[28000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Login failed for user 'MYCOMPANY\\username'. (18456) (SQLDriverConnect); [28000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Login failed for user 'MYCOMPANY\\username'. (18456)")
我不明白为什么字符串保留“\\”


有人能帮我吗?

你可以使用
.encode
然后
.decode

username.encode().decode('unicode_escape')

变量没有问题,它只是python试图提供帮助,并向您显示字符串中的``的位置。问题是您试图像使用SQL身份验证帐户一样使用AD帐户;那不行。使用SQL身份验证登录或可信连接。即使Python显示了
MYCOMPANY\username
,真正的问题也不会改变。无法在连接字符串中传递AD帐户的用户名和密码。