gpt4 book ai didi

Python:双反斜杠格式

转载 作者:太空宇宙 更新时间:2023-11-04 09:14:33 26 4
gpt4 key购买 nike

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

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

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

但是,我正在创建一个 GUI 并希望路径名可以更改。所以我正在尝试将普通文件路径转换为正确的格式,但无法完成。

我如何转换

filePath = "D:\folder\file.csv"

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

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

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

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

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

但这行不通,可能是因为反斜杠的转义性质。只是再次使用原始字符串会创建比我想要的更多的反斜杠,我无法理解。

有人能帮帮我吗?

最佳答案

首先,您不应该使用字符串格式来创建 SQL 语句。一旦以正确的方式使用数据库接口(interface),问题就会消失:

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

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

关于Python:双反斜杠格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11192082/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com