Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:从字符串变量转义单引号和双引号的一些特殊方法_Python_Sqlite_Python 2.7 - Fatal编程技术网

Python:从字符串变量转义单引号和双引号的一些特殊方法

Python:从字符串变量转义单引号和双引号的一些特殊方法,python,sqlite,python-2.7,Python,Sqlite,Python 2.7,我正在使用Python脚本在Sqlite数据库中输入一个数据类型字符串变量。因此,每当我插入该值时,我都会得到Sqlite错误: sqlite3.OperationalError: near "s": syntax error 我的变量字符串如下所示: file_path=r'James Bond 007 - 07 - On Her Majesty's Secret Service (1969)' 实际上,我是直接从os.walk中获取此文件名的,因此我无法通过手动放置反斜杠来转义单个字符串

我正在使用Python脚本在Sqlite数据库中输入一个数据类型字符串变量。因此,每当我插入该值时,我都会得到Sqlite错误:

sqlite3.OperationalError: near "s": syntax error
我的变量字符串如下所示:

file_path=r'James Bond 007 - 07 - On Her Majesty's Secret Service (1969)'
实际上,我是直接从os.walk中获取此文件名的,因此我无法通过手动放置反斜杠来转义单个字符串。我需要一些自动转义字符串中内容的字符串方法。

你做错了

cursor.execute("INSERT ... (?, ?, ?)", (var1, var2, var3))

使用正斜杠似乎对我很有效,但我对单引号没有任何问题

因此:


我已经像你提到的那样写了我的查询,但是错误发生了,因为变量中有一个未替换的引号。我找不到任何方法来逃避它。+1:为什么人们仍然在没有占位符的情况下进行原始查询构造?@FlorianBrucker:easy,因为包含SQL语句的文件可以被读取和理解,并且可以包含注释。对于二进制SQLite3数据库来说,这有点困难。使用命令行实用程序
sqlite3
.dump
命令也会删除任何注释。为什么人们要将源代码检查到版本控制系统而不是二进制文件中?我也有同样的理由。
"\"this seems to work fine.\""