You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python执行记事本中SQL查询时遇Unicode转义错误求助

问题

将SQL查询存储在记事本文件中,通过Python脚本执行时出现错误,代码如下:

cursor = connection.cursor()
with open('C:\Python_Script_Test\SQL_Query.txt','r') as inserts:
   query = inserts.read()
cursor.execute(query)

实际触发的错误:

with open('C:\Python_Script_Test\SQL_Query.txt','r') as inserts:
syntax error: (unicode error) 'unicodeescape' codec cant decode bytes in position 2-3: truncated \UXXXXXXXX escape

已尝试替换单双引号但无效,查询为多行,寻求技术解决。

解决方法

这是Python中路径转义字符引发的问题:\P被识别为Unicode转义序列的开头,但后续字符不完整导致解码失败,三种修复方式任选其一即可:

  • 使用原始字符串:在路径字符串前添加r,让Python跳过反斜杠的转义处理:

    with open(r'C:\Python_Script_Test\SQL_Query.txt','r') as inserts:
    
  • 使用双反斜杠手动转义:用两个反斜杠代替单个反斜杠,避免被解析为转义符:

    with open('C:\\Python_Script_Test\\SQL_Query.txt','r') as inserts:
    
  • 使用正斜杠作为路径分隔符:Python支持跨平台的正斜杠路径写法,无需转义:

    with open('C:/Python_Script_Test/SQL_Query.txt','r') as inserts:
    

另外,多行SQL查询读取后直接通过cursor.execute()执行即可,Python和多数数据库驱动都支持处理多行SQL语句,无需额外处理换行。

内容的提问来源于stack exchange,提问作者Neha M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 07:52:04