正确使用原始字符串在Python中通过SSH发送命令

时间:2016-06-12 11:47:29

标签: python ssh paramiko

我有一个很长的命令,使用Paramiko通过SSH发送,我需要使用" r"来包装字符串。参数但IDE仍然告诉我它没有被写好。 字符串是这样的:

somecommand get -n somestuff sa/management --template='{{range .secrets}}{{printf "%s\n" .name}}{{end}}'

我尝试过:

command = r'somecommand get -n somestuff sa/management --template='{{range .secrets}}{{printf "%s\n" .name}}{{end}}'

但得到了一个错误。 这可能是非常容易做的事情....

1 个答案:

答案 0 :(得分:2)

首先,您在字符串末尾缺少引号。 第二个问题是你不能在字符串中使用引号。

r'some'thing'

时不会工作
r'some"thing'

会奏效。 由于字符串中的引号带引号,请使用三引号字符串:

r"""some"thi'ng"""

所以你的字符串的工作版本是:

command = r"""somecommand get -n somestuff sa/management --template='{{range .secrets}}{{printf "%s\n" .name}}{{end}}'"""