繁体   English   中英

ValueError: 不支持的格式字符 ']' (0x5d)

[英]ValueError: unsupported format character ']' (0x5d)

我正在尝试使用 python 制作 irc 机器人。 该机器人将解析 XML 并将其内容粘贴到频道上。 这是我的代码的一部分

f = open("1.xml")
data = f.read()
f.close()
domi = parseString(data)
attackerbartag = domi.getElementsByTagName('bar')[0].toxml()
attackerbar = attackerbartag.replace('<bar>','').replace('</bar>','')
attackerbar = round(float(attackerbar)2)
defenderbar = 100 - attackerbar

attackertag = domi.getElementsByTagName('name')[1].toxml()
attacker = attackertag.replace('<name>','').replace('</name>','')

defendertag = domi.getElementsByTagName('name')[42].toxml()
defender = defendertag.replace('<name>','').replace('</name>','')

attackerpointtag = domi.getElementsByTagName('points')[1].toxml()
attackerpoint = attackerpointtag.replace('<points>','').replace('</points>','')

defenderpointtag = domi.getElementsByTagName('points')[6].toxml()
defenderpoint = defenderpointtag.replace('<points>','').replace('</points>','')

attackerdomtag = domi.getElementsByTagName('domination')[0].toxml()
attackerdom = attackerdomtag.replace('<domination>','').replace('</domination>','')

defenderdomtag = domi.getElementsByTagName('domination')[4].toxml()
defenderdom = defenderdomtag.replace('<domination>','').replace('</domination>','')

result = 'Div.1 :: %s [ %s p ] [ %s% ] [ %s Dom ] <--> [ %s Dom ] [ %s% ] [ %s p ] %s ::' % (attacker, attackerpoint, attackerbar, attackerdom, defenderdom, defenderbar, defenderpoint, defender)
return result

我得到了ValueError: unsupported format character ']' (0x5d).

我很确定我已经关闭了所有 [ ]

我尝试用 () 更改 [],错误是ValueError: unsupported format character ')' (0x5d)

谁能告诉我我在哪里制作了嘘声? 谢谢

您已经两次放置[ %s% ] ,其中在s之后包含一个额外的 % 。 Python 将其解释为%] ,这是无效的。

那里有两个%字符,它们不是格式化字符。 您需要将其加倍以使 Python 忽略它:

result = 'Div.1 :: %s [ %s p ] [ %s%% ] [ %s Dom ] <--> [ %s Dom ] [ %s%% ] [ %s p ] %s ::' % (attacker, attackerpoint, attackerbar, attackerdom, defenderdom, defenderbar, defenderpoint, defender)

问题:这一行有同样的错误,但我似乎找不到任何 %

WHERE (@IncludeLeavers = 'Yes' OR @IncludeLeavers= 'No' AND Staff.IsCurrent = 1)
""",

        params={
          "IncludeLeavers": REPORT_OPTIONS["IncludeLeavers"][0]
        })

此行出现错误IncludeLeavers": REPORT_OPTIONS["IncludeLeavers"][0]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM