ValueError:索引为55且URL字符串不支持的格式字符'a'(0x61)

时间:2017-07-03 16:48:47

标签: python string url pymysql

尝试使用以下代码将URL和hostName发送到数据库中:

def sendToDatabase(self, case, filename):
103         ext = os.path.splitext(filename)[1]
104         filenoext = filename.strip(ext)
105         url = "https://apses4859.ms.ds.uhc.com:10943/rest/download/C%3A/IBM/ISA5/ISA5/isa/cases/%s/%s-analyzer_ISA_PD/%s_Leak_Suspects/index.html" % (case, filename,filenoext)
106         cursor = connection.cursor()
107         m = re.search(r"([^.]*)", filename)
108         hostname = m.group(1)
109         query = "INSERT INTO StoryData (hostName, reportName) VALUES (%s, %s)"
110         cursor.execute(query , (hostname, url))
111         connection.commit()
112         cursor.close()

出于某种原因,它不喜欢%3A旁边的A.我已经尝试添加额外的%,但它仍然不会影响它。不太明白我为什么会收到这个错误。

1 个答案:

答案 0 :(得分:1)

%3A被解释为格式化字符串,并且没有A格式。更好地切换到新式格式,即。使用format方法代替%运算符:

url = "https://apses4859.ms.ds.uhc.com:10943/rest/download/C%3A/IBM/ISA5/ISA5/isa/cases/{}/{}-analyzer_ISA_PD/{}_Leak_Suspects/index.html".format(case, filename,filenoext)