2011-09-26 113 views
0

我想在没有逃避反斜杠的情况下在MySQL中存储windows路径。我怎样才能在Python中做到这一点?我正在使用MySQLdb将记录插入到数据库中。当我使用MySQLdb.escape_string()时,我注意到反斜杠被删除。在没有转义反斜杠的情况下在MySQL中存储windows路径

+0

“我注意到,反斜杠被除去了。”具体如何 - 你是否注意到了这一点。包含您用于查看路径的代码。这可能是做错了事。 –

回答

0

看一看os.path.normpath(thePath)

我不记得,如果它是一个,但有一个标准os.path中格式化功能,让双反斜线,可以存储在一个数据库“原样” “按原样”重新使用。我没有更多的Windows机器,无法再测试它。

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));