sftp + python 自动化 sftp

sftp + python 自动化 sftp

是否可以通过 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

面料很适合做这项工作。

  1. 安装 fabic,参考:http://fabfile.org/

    pip install fabric
    
  2. 创建一个 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")
    
  3. 运行

     fab do
    

应该管用。:)

答案2

查看 Python 的 Paramiko 库。我曾将其用于 SSH,但我知道它也有一个 SFTP 对象实现。

http://www.lag.net/paramiko/

答案3

查看pypi 存储库.我建议你使用http://pypi.python.org/pypi/ssh/1.7.9. 它用于织物

相关内容