几个小时以来,我的命令出现了一些错误:
message = "test."+hostname+"."+service+" "current_state_id "%d\n" % int(time.time())
错误是:
SyntaxError:语法无效
结果将是 message = test.myhost.myservice 2 1467383079
问题出在哪里?
答案 0 :(得分:0)
你至少有两个; current_state_id
与它之前的空格或之后的字符串之间没有任何内容。
您似乎知道字符串替换,因为您在该代码中使用它;你应该在整个过程中使用它,而不是使用连接和替换的组合。
message = "test.%s.%s %s %d\n" % (hostname, service, current_state_id, int(time.time()))
或使用新的format
方法:
message = "test.{}.{} {} {}\n".format(hostname, service, current_state_id, int(time.time()))
答案 1 :(得分:0)
有两个错误:
1)你需要一个' +'之间'" "'和' current_state_id'。
2)你需要一个' +'介于' current_state_id'之间和'"%d \ n"'。
这是正确的版本:
message =" test。" + hostname +"。" + service +" &#34 + + current_state_id"%d \ n" %int(time.time())