我想将此内容写入文件f.write("add unit at-wc 0 0 0 %s" % x ,y, z, "0.000 0.000 0.000 ")
但是当我这样做时,我收到错误function takes exactly 1 argument (4 given).
答案 0 :(得分:5)
您错误地使用了%
运算符。你可能正在寻找这样的东西:
f.write("add unit at-wc 0 0 0 %s %s %s 0.000 0.000 0.000 " % (x, y, z))
请注意,替换变量x, y, z
都在括号中,这意味着它们是传递给%
运算符的单个元组。
在您的代码中,请注意您如何将四个参数添加到write()
函数中(我将每个参数放在一个单独的行中以便于查看):
f.write(
"add unit at-wc 0 0 0 %s" % x,
y,
z,
"0.000 0.000 0.000 "
)
答案 1 :(得分:1)
%
的优先级高于,
。
f.write("add unit at-wc 0 0 0 %s" % (x, y, z, "0.000 0.000 0.000 "))
但是现在你会得到一个不同的错误,因为你有比占位符更多的值。