【发布时间】:2020-10-02 02:25:43
【问题描述】:
我正在将一些批处理作业从 Window 移植到 Linux。这些是 Windows 上的 .bat 脚本,我正在用 Python 重写它们以在 Linux 上运行
在 Windows 上,我们目前使用 putty 来 SFTP 文件并运行如下命令:
psftp user@host -i privatekey.ppk -batch -b script.txt
这会批量执行 script.txt 中的 putty SFTP 命令。示例如下:
SCRIPT.TXT example
cd mydir
lcd outbox
get myremotefile.txt mylocalfile.txt
get myotherremotefile.txt myotherlocalfile.txt
bye
我正在尝试找到一种方法来在我的 python 脚本中使用相同的批处理脚本 (script.txt) 以最大限度地减少整体更改量。我一直在研究paramiko,但到目前为止我还没有找到通过脚本文件批量执行 sftp 命令的方法。
另一种方法是生成一个子进程来使用 -b 选项执行 sftp 命令,但如果可能的话,更喜欢 Python 原生解决方案。
你怎么看?有没有其他方法可以解决这个问题?
【问题讨论】: