Python:双反斜杠格式

2024-04-20 13:51:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在python程序中处理一个文件地址并将其传递给MySQL。在

我发现我需要使用原始字符串作为地址,这样它才能完整地到达MySQL。 这是有效的:

myFilePath = r"'D:\\folder\\file.csv'"
sqlStatement = r"LOAD data local INFILE %s INTO TABLE test ...);" % (myFilePath)

不过,我正在创建一个GUI并希望路径名可以更改。所以我试图把一个普通的文件路径转换成正确的格式,但是我做不到。在

如何转换

^{pr2}$

与上面的myFilePath格式完全相同?

到目前为止我想到的最好的是

myFilePath = r'r"' + "'" + filePath + "'"

但是我仍然需要把现有的反斜杠加倍,而且我找不到任何方法来做到这一点。我尝试过迭代,像这样:

myFilePath = ""
for i in range(len(filePath)):
    if i == "\\":
        myFilePath += "\\\\"
    else:
        myFilePath += filePath[i]

但这行不通,可能是因为反斜杠的逃避性质。 再次使用原始字符串会产生比我想要的更多的反斜杠,我已经力不从心了。在

谁能帮帮我吗?在


Tags: 文件csv字符串程序data地址格式mysql
1条回答
网友
1楼 · 发布于 2024-04-20 13:51:16

首先不应该使用字符串格式来创建SQL语句。正确使用db接口后,问题就解决了:

file_path = r"d:\folder\file.csv"
cursor.execute("LOAD data local INFILE %s INTO TABLE test ...);", file_path)

对SQL语句使用字符串格式只会使自己容易受到SQL注入攻击。在

相关问题 更多 >