如何将变量传递给 Python 中的 bash 命令

How to pass a variable into a bash command in Python

我有一个 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)

selected_port 变量传递给我的 bashCommand 的正确方法是什么?目前我收到 SyntaxError: EOL while scanning string literal

使用Python的字符串插值机制之一:

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

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