Python 将变量放入字符串+;硬编码%d值
我试图将其放入字符串变量和硬编码的“%d”值中,该值不是变量(不幸的是,python将其作为intiger变量)。例如:Python 将变量放入字符串+;硬编码%d值,python,Python,我试图将其放入字符串变量和硬编码的“%d”值中,该值不是变量(不幸的是,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
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”,但它不起作用
怎么做 试试这个:
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)
这将使用新的格式字符串 试试这个:
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)
这将使用新的格式字符串 使用
“%s”
。。。或者更好,使用格式
。我不明白,我已经使用了“%s”。但是我想返回带有静态“%d”值的错误字符串-出于awk目的,如果您使用格式
,%d
不会导致错误。请使用'%s'
。。。或者更好,使用格式
。我不明白,我已经使用了“%s”。但我想返回带有静态“%d”值的错误字符串-出于awk目的,如果您要使用格式则%d
不会导致错误。@maciek2791如果此答案对您有帮助,请单击投票按钮下方的灰色复选标记接受它。@maciek2791如果此答案对您有帮助,请通过单击投票按钮下方的灰色复选标记接受。