mio。 2023-07-10 15:00 采纳率: 57.1%
浏览 11
已结题

paramiko的exec_command的问题

老哥们我这个到底是怎么回事啊,搜也搜不出来,这个command我看视频没有写啊

img

  • 写回答

2条回答 默认 最新

  • IT论之程序员 2023-07-10 15:57
    关注

    根据你提供的代码片段,exec_command()方法的参数应该是要远程执行的命令字符串,比如:
    python
    ssh.exec_command('ls -l')
    exec_command()会在远程机器上执行命令,并返回一个包含标准输出、标准错误及退出状态码的元组。
    所以你需要传入要在远程执行的Linux命令字符串作为参数,而不是像你代码中的command对象。
    一个正确使用exec_command()的示例:
    python
    import paramiko

    ssh = paramiko.SSHClient()
    ssh.connect(hostname, username, password)

    stdin, stdout, stderr = ssh.exec_command('ls -l')

    print(stdout.read().decode())

    ssh.close()
    这将通过SSH连接到远程主机,执行'ls -l'命令,然后打印输出结果。
    总结一下,需要注意的要点:

    1. exec_command的参数是字符串命令,而不是命令对象
    2. 返回的是一个包含标准输出、标准错误、状态码的元组
    3. 需要读取标准输出数据,并解码为字符串打印
      希望这能帮助你解决问题!
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月19日
  • 已采纳回答 7月11日
  • 创建了问题 7月10日