如何在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
提供您的命令。