python脚本在远程SSH服务器上执行命令并且这个命令带有形参怎么拼接
时间: 2024-02-27 07:51:36 浏览: 16
如果命令带有形参,需要使用字符串格式化来将形参转换为字符串并拼接到命令中。下面是一个示例:
```python
import paramiko
# 建立SSH连接
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('your_server_ip', username='your_username', password='your_password')
# 定义要执行的命令,带有一个形参
command = 'python my_script.py --my_arg {}'
# 定义形参的实际值
my_arg_value = 'my_arg_value'
# 使用字符串格式化将形参转换为字符串,并拼接到命令中
formatted_command = command.format(my_arg_value)
# 执行命令并获取输出
stdin, stdout, stderr = ssh.exec_command(formatted_command)
output = stdout.read().decode('utf-8')
# 关闭SSH连接
ssh.close()
```
在这个示例中,我们定义了一个名为`command`的命令,并且在其中使用了一个形参`--my_arg {}`。然后,我们将实际的形参值`my_arg_value`使用字符串格式化转换为字符串,并拼接到了命令中。最后,我们通过SSH连接执行了这个命令,并且获取了命令的输出。