为了账号安全,请及时绑定邮箱和手机立即绑定

python 中的字符串格式化%s

python 中的字符串格式化%s

九州编程 2023-08-22 15:21:21
我的应用程序有一点问题。这是一个代码:parameters_tuple = (case_name, x_rw[6], x_rw[0], x_rw[1], x_rw[2], x_rw[3], x_rw[6])return """        <testcase classname="performance_tests" name="%s" time="%s">            <Type>%s</Type>            <Name>%s</Name>            <Request_Count>%s</Request_Count>            <Failure_Count>%s</Failure_Count>            <Min_Response_Time>%s</Min_Response_Time>        </testcase>""" % parameters_tuple我想除以x_rw[6]1000。我尝试这样做:parameters_tuple = (case_name, x_rw[6], x_rw[0], x_rw[1], x_rw[2], x_rw[3], x_rw[6])return """        <testcase classname="performance_tests" name="%s" time="%s">            <Type>%s</Type>            <Name>%s</Name>            <Request_Count>%s</Request_Count>            <Failure_Count>%s</Failure_Count>            <Min_Response_Time>%s</Min_Response_Time>        </testcase>""" % parameters_tuple[0], parameters_tuple[1]/1000, parameteres_tuple[2:]但根本不起作用。如何使其发挥作用?
查看完整描述

3 回答

?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

您尝试过使用 f 字符串吗?这适用于 Python >= 3.6

您可以将代码替换为:

f'<testcase classname="performance_tests" name="{parameters_tuple[0]}" time="%s">'

在这里,您获取内部变量和操作的值(就像您的除法一样),并用它们替换字符串的该部分。

f'<Type>"{parameters_tuple[1]/1000}"</Type>'


查看完整回答
反对 回复 2023-08-22
?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

parameters_tuple = (case_name, x_rw[6] / 1000, x_rw[0], x_rw[1], x_rw[2], x_rw[3], x_rw[6])

字符串有帮助。

多谢你们 :)


查看完整回答
反对 回复 2023-08-22
?
温温酱

TA贡献1752条经验 获得超4个赞

您的代码的问题是它的解释如下(请注意(...)):

return ("""...""" % parameters_tuple[0]), parameters_tuple[1]/1000, parameters_tuple[2:]

因此,您会得到“格式字符串参数不足”,因为它在需要 7 时尝试仅使用第一个参数。相反,您可以使用它(...)来创建一个包含所有要使用的参数的新元组。用于*解压“其余部分”:

return """...""" % (parameters_tuple[0], parameters_tuple[1]/1000, *parameters_tuple[2:])

/ 1000然而,在定义时执行以下操作似乎要简单得多parameters_tuple

parameters_tuple = (case_name, x_rw[6] / 1000, x_rw[0], x_rw[1], x_rw[2], x_rw[3], x_rw[6])



查看完整回答
反对 回复 2023-08-22
  • 3 回答
  • 0 关注
  • 1549 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信