Python 通过paramiko运行命令/删除文件夹

Python 通过paramiko运行命令/删除文件夹,python,bash,sftp,paramiko,Python,Bash,Sftp,Paramiko,我无法通过运行某些命令。例如,rm或rmdir 我试图通过paramiko删除一个文件夹,我得到了“Command not found”。但是“ls-l”命令运行良好。bash脚本也可以正常工作 key=paramiko.RSAKey.from_private_key_文件(RSA_key) 使用paramiko.SSHClient()作为客户端: client.set\缺少\主机\密钥\策略(paramiko.AutoAddPolicy()) client.connect(pkey=key,*

我无法通过运行某些命令。例如,rm或rmdir

我试图通过paramiko删除一个文件夹,我得到了“Command not found”。但是“ls-l”命令运行良好。bash脚本也可以正常工作

key=paramiko.RSAKey.from_private_key_文件(RSA_key)
使用paramiko.SSHClient()作为客户端:
client.set\缺少\主机\密钥\策略(paramiko.AutoAddPolicy())
client.connect(pkey=key,**服务器连接)
command=“rm/home/request\u files/temp/*”
输入\输出\错误\客户端。执行\命令(命令=命令)
对于i输入输出:
印刷品(一)
“找不到命令”

key=paramiko.RSAKey.from_private_key_文件(RSA_key)
使用paramiko.SSHClient()作为客户端:
client.set\缺少\主机\密钥\策略(paramiko.AutoAddPolicy())
client.connect(pkey=key,**服务器连接)
command=“ls”
输入\输出\错误\客户端。执行\命令(命令=命令)
对于i输入输出:
印刷品(一)
dir1

dir2

dir3

等等

我还有一个bash脚本,可以很好地工作:


sftp-P${SERVER\u PORT}${SERVER\u USERNAME}@${SERVER\u HOST}

多亏了@martyn,我找到了解决这个问题的方法

def open_sftp(files_folder_name):
    key = paramiko.RSAKey.from_private_key_file(RSA_KEY)

    with paramiko.SSHClient() as client:
        client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        client.connect(pkey=key, **SERVER_CONN)
        with client.open_sftp() as sftp:
            files = sftp.listdir(path=files_folder_name)
            for f in files:
                sftp.remove(f"{files_folder_name}/{f}")
            sftp.rmdir(files_folder_name)

也许您可以将paramiko的SFTP功能用于文件系统操作:例如,请参阅@furas,我没有得到回溯,程序退出,代码为0