将变量放在字符串+硬编码的%d值中

时间:2016-08-24 10:18:16

标签: python

我正在尝试将字符串变量和硬编码的'%d'值放入 - 这是不可变的(unfornatelly python将其视为intiger变量)。例如:

Error="""awk -v col="%s" -F"," '{ if(NF != col) printf("Index: %d, NR, NF-1); }' "%s" > %s"""%(variable1,variable2,variable3)

现在我收到了一个错误:

TypeError: %d format: a number is required, not str.

所以主要的问题是“%d”值,我试着用“”“%d”“”,/%d /但它不起作用。

怎么做?

1 个答案:

答案 0 :(得分:2)

试试这个:

Error="""awk -v col="%s" -F"," '{ if(NF != col) printf("Index: %%d, NR, NF-1); }' "%s" > %s"""%(variable1,variable2,variable3)

这使用%%,其解析为%。另一种解决方案:

Error="""awk -v col="{}" -F"," '{ if(NF != col) printf("Index: %d, NR, NF-1); }' "{}" > {}""".format(variable1,variable2,variable3)

这使用新的格式字符串。