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

问题描述 投票:-2回答:1

我有一个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 [email protected]"
os.system(bashCommand)

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

python python-2.7 string-formatting
1个回答
0
投票

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

bashCommand = "ssh -p '%s' -i pi.rsa [email protected]" % selected_port

要么

bashCommand = "ssh -p '{}' -i pi.rsa [email protected]".format(selected_port)
© www.soinside.com 2019 - 2024. All rights reserved.