当已经传递了2个参数时,为没有足够的参数键入错误

时间:2012-12-31 05:13:27

标签: python

我收到以下错误,它说没有足够的参数,我已经传递了两个参数......这里有什么问题?

   check_call("rm -rf %s/%s/*" % SCRIPT_ROOT % W_ROOT,shell=True)                                
    TypeError: not enough arguments for format string

2 个答案:

答案 0 :(得分:2)

您无法通过两个步骤进行格式化。您需要使用一个%运算符并传递一个元组:

"rm -rf %s/%s/*" % (SCRIPT_ROOT, W_ROOT)

答案 1 :(得分:2)

check_call('rm -rf {}/{}/*'.format(SCRIPT_ROOT,W_ROOT),shell=True)

另外,请确保您了解shell=True的含义,特别是因为您似乎正在进行破坏性操作。

如果任何一个参数是../../

,会发生什么