是否可以通过 python 运行以下步骤?
我的目标是通过 python 实现自动化 sftp - 登录到 13.5.41.90(Linux 机器 red hat 5.3)并从这个 Linux 获取 file.txt,请提供建议?
sftp 13.5.41.90
Password: password123
cd /var/tmp
get file.txt
sftp> quit
the full view from sftp command line
sftp 13.5.41.90
Connecting to 13.5.41.90...
Password: password123
sftp> cd /var/tmp
sftp> get file.txt
Fetching /var/tmp/file.txt to info.txt
/var/tmp/file.txt 100% 340 0.3KB/s 00:00
sftp> quit
答案1
面料很适合做这项工作。
安装 fabic,参考:http://fabfile.org/
pip install fabric
创建一个 fabfile.py 如下:
from fabric.api import * from fabric.operations import put from fabric.operations import get env.user = "username" env.password = "password123" def do(): put(local_path="./temp/file.txt", remote_path="/tmp/file.txt") get(remote_path="/tmp/file.txt", local_path="./temp/file.txt")
运行
fab do
应该管用。:)
答案2
查看 Python 的 Paramiko 库。我曾将其用于 SSH,但我知道它也有一个 SFTP 对象实现。
答案3
查看pypi 存储库.我建议你使用http://pypi.python.org/pypi/ssh/1.7.9. 它用于织物