我是python以及shell的新手。我正在尝试将此命令(解析“Varying sentence”)发送到服务器。
('echo "(parse \\"trees are tall\\")" |nc localhost xxxxx')
我尝试了以下内容:
ssh_client = paramiko.SSHClient()
ssh_client.connect('server', username='wefw', password='fwf')
for line in json_text:
line = line.rstrip('\r\n')
json_content = json.loads(line)
body = ''
try:
body = json_content['id']['body']
body_encoded = body.encode('utf-8')
stdin, stdout, stderr=ssh_client.exec_command('echo "(parse \\"${body_encoded}\\"})" |nc localhost xxxxx')
句子各不相同。我不能硬解码parse命令中的句子。所以我尝试传递变量“body_encoded”,如下所示:
('echo "(parse \\"${body_encoded}\\")" |nc localhost xxxxx')
但这里出了点问题。如何传递具有字符串值的变量“body_encoded”?
exec_command('echo "(parse \\"varying sentence\\")"')
答案 0 :(得分:3)
您可以使用字符串插值:
ssh_client.exec_command('echo "(parse \\"%s\\")" |nc localhost xxxxx' % body)
答案 1 :(得分:-2)
尝试传递这样的原始字符串:
ggplot(family_abundance, aes(x=interaction(sex,row), y=value, group=sex,fill=factor(variable))) +
geom_bar(stat="identity")+
facet_grid(.~row, scales = 'free')+
scale_x_discrete("Week",labels=levels(family_abundance$sex))
即改为使用转义字符添加' r'就在你的字符串之前。也许这会有所帮助。