在MySQL中存储Windows路径而不转义反斜杠

时间:2011-09-26 09:36:36

标签: python mysql

我想在MySQL中存储Windows路径而不转义反斜杠。我怎么能用Python做到这一点?我正在使用MySQLdb将记录插入数据库。当我使用MySQLdb.escape_string()时,我注意到反斜杠已被删除。

2 个答案:

答案 0 :(得分:0)

查看os.path.normpath(thePath)

我不记得是否是那个,但是有一个标准的os.path格式化函数,它提供了双反斜杠,可以“按原样”存储在db中,并在以后“按原样”重用。我没有更多的Windows机器,无法再测试它了。

答案 1 :(得分:0)

只需使用字典在任何需要的位置添加斜杠以使查询有效:

http://codepad.org/7mjbwKBf

def addslashes(s):
    dict = {"\0":"\\\0", "\\":"\\\\"}  #add more here
    return ''.join(dict.get(x,x) for x in s)

query = "INSERT INTO MY_TABLE id,path values(23,'c:\windows\system\')";

print(addslashes(query));