python - 如何在 Python 中将变量传递给 bash 命令
问题描述
我有一个 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
将变量传递给 my 的正确方法是什么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)
推荐阅读
- pandas - 在 xaxis 上绘制条形图的刻度数
- python - 如何使用 OpenNI 绑定在 OpenCV 中打印 Kinect 帧
- javascript - Vue SPA 在使用 vue-router 导航时强制页面重新加载
- google-apps-script - 使用公式复制多列
- python - 使用来自单独数据帧的最新数据更新一个数据帧
- excel - 使用多个条件查找 Max
- python - Bool 被正确返回,但仍然无法工作
- ruby-on-rails - 如何测试 ActiveRecord 关联是否与 RSpec 一起使用?
- ios - iOS - 在丰富的推送通知中播放 GIF
- excel - 清除单元格内容