如何在python中的字符串中的双引号内显示​​单引号

问题描述:

我知道这是非常基本的问题,但无法将其框出。如何在python中的字符串中的双引号内显示​​单引号

我需要在脚本中执行一个自定义的基于python命令的命令。

ex: 
below is the actual commands. 
command-dist --host='server1' -- cmd -- 'command1;command2' 

我需要在我的Python脚本中使用此命令 形成我的脚本,这个命令需要是远程服​​务器上执行

我需要这个命令的格式在我的脚本中使用

cmd="ssh -q %s "command-dist --host=%s -- cmd -- 'cmd1;cmd2'"" %(host1,host2) 

但以上是由于报价失败,试过多少种方式仍然没有运气。

When I tried this way 
cmd="ssh -q %s \"command-dist --host=%s -- cmd -- 'cmd1;cmd2'\"" %(host1,host2) 

I don't under why back slashes are appearing before and after cmd1;cmd2? 
This is what I am not getting. 
cmd 
'ssh -q %s "command-dist --host=%s -- cmd -- /'cmd1;cmd2'/""' %(host1,host2) 

请帮助我如何获得上述值

cmd="ssh -q %s "command-dist --host=%s -- cmd -- 'cmd1;cmd2'"" %(host1,host2) 

由Python的理解为

cmd = <some string>command-dist --host=%s -- cmd -- 'cmd1;cmd2'<some string> 

因为你用内外相同的报价。 尝试,而不是用反斜杠逃逸的内部报价:

cmd="ssh -q %s \"command-dist --host=%s -- cmd -- 'cmd1;cmd2'\"" %(host1,host2) 

除此之外,你应该使用subprocess模块和一个列表subprocess.Popen提供您的命令。