如何在Python中将变量传递到bash命令中

如何在Python中将变量传递到bash命令中,python,python-2.7,string-formatting,Python,Python 2.7,String Formatting,我有一个Python脚本,它随机选择一个端口并将其传递给bash命令: #!/usr/bin/env python import random import os # Select a port at random port = ['22', '23', '24'] selected_port = (random.choice(port)) # print 'selected_port bashCommand = "ssh -p '${selected_port}' -i pi.rsa pi

我有一个Python脚本,它随机选择一个端口并将其传递给bash命令:

#!/usr/bin/env python
import random
import os

# Select a port at random
port = ['22', '23', '24']
selected_port = (random.choice(port))
# print 'selected_port

bashCommand = "ssh -p '${selected_port}' -i pi.rsa pi@192.168.1.xx"
os.system(bashCommand)

将所选的_port变量传递给我的命令的正确方法是什么?目前,我在扫描字符串文字时得到一个SyntaxError:EOL使用Python的字符串插值机制之一:

bashCommand = "ssh -p '%s' -i pi.rsa pi@192.168.1.xx" % selected_port


bashCommand=ssh-p'{}'-i pi.rsapi@192.168.1.xx.formatselected_portForm命令字符串为command=ssh-p+selected_port+-i pi.rsapi@192.168.1.xxPossible@PaulaLivingstone的副本,尽管上述工作在给定的特定场景中,它没有生成相同的字符串,因为缺少单引号;
bashCommand = "ssh -p '{}' -i pi.rsa pi@192.168.1.xx".format(selected_port)