我正在开发一个自动化工具,它将一系列命令复制到远程系统上的文件中,然后ssh到远程系统并执行该文件。我正在查看paramiko的文档,它具有所需的sftp和ssh命令功能。没有文件的类文件操作?
但是,我注意到paramiko.SFTPClient.put()方法将本地和远程路径的名称作为参数。我希望能够不必先在本地写文件,并找到一种方法让SFTPClient.put接收类文件对象而不是指向实际文件。
有没有办法通过转交SFTPClient.put()的对象引用,而不是文件路径要做到这一点蟒之内,或者通过如果SFTPClient.put()不能处理任何事情,这不是一个实际的文件命名管道?
或者,也许一个更好的主意是使用paramiko.SSHClient.exec_command('回声$ list_of_commands>的/ tmp /远程文件&& SH/tmp/remotefile')?如果$ list_of_commands包含EOL字符,这会破坏吗? – caw