如何合并列表但用新行分隔?

2024-10-02 02:39:44 发布

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

我有3行文本(这是非python配置):

[[inputs.snmp.field]]
 name = "esxi-cpuload1"
 oid = ".1.3.6.1.2.1.25.3.3.1.2.1" 

我需要复制96次,在“cpuload”和我的oid后面加上一个数字增量,例如esxi-cpuload2、cpuload3等,以及我的oid的.2、.3、.4等。你知道吗

到目前为止,我已经能够使用以下两个列表完成此操作:

inputs = "[[inputs.snmp.field]]"
name = "esxi-cpuload"
oid = ".1.3.6.1.2.1.25.3.3.1.2."

name2 = [name+str(i) for i in range(97)]
oid2 = [oid+str(i) for i in range(97)]

这给了我两个数字列表(第一行文本不需要更改)。但是,我现在如何使用Python组合所有这些数据呢?还是有更简单的方法?你知道吗


Tags: namein文本field列表forrange数字
2条回答

如果我理解你的问题,你有一些文本,你想复制变量参数。如果是这样,那么这是str.format()的一个很好的用例。你知道吗

FMT = '''
[[inputs.snmp.field]]
name = "esxi-cpuload{i}"
oid = ".1.3.6.1.2.1.25.3.3.1.2.{i}"
'''

text = ''.join(FMT.format(i = i) for i in range(1, 96))

'\n'. join(zip([inputs] * 97, name2, oid2))

第一个带有输入的表达式是将该字符串转换为一个单元素数组,然后将其乘以97,使该字符串在数组中重复97次。你知道吗

相关问题 更多 >

    热门问题