zoukankan      html  css  js  c++  java
  • Python不同电脑之间传输文件实现类似scp功能不输密码

    SCP vs SFTP

    通过paramiko还可以传输文件,如何通过paramiko在计算机之间传输文件,通过阅读官方文档,发现有如下两种方式:

    sftp = paramiko.SFTPClient.from_transport(ssh.get_transport())
    sftp = ssh.open_sftp()

    即新建一个SFTPClient对象,该对象复用之前的SSH连接,因此,我们使用sftp传输文件时,不需要再次进行用户认证。

    • 文件上传

        In [59]: sftp.put('memory.py', 'memory.py')
        Out[59]: <SFTPAttributes: [ size=288 uid=1000 gid=1000 mode=0100644 atime=1435391914 mtime=1435391914 ]>
    • 文件下载

        In [60]: sftp.get('memory.py', 'backup.py')
    • 执行命令

      paramiko并没有提供一个叫做scp的子模块,如果我们希望在计算机之间传输数据,可以通过sftp(sftp实现了scp所有的功能,也就没有必再实现一个scp)传输文件,还可以通过sftp执行命令,如下所示:

        In [44]: sftp.listdir()
        Out[44]:
        ['.viminfo',
        '.bash_logout',
        '.bash_history',
        'AgentBackkup_2015-06-10',
        'AgentBackup',
        'rdsAgent']
      
        In [45]: sftp.rename('AgentBackkup_2015-06-10', 'AgentBackkup_2015-06-11')
      
        In [46]: sftp.listdir()
        Out[46]:
        ['AgentBackkup_2015-06-11',
        '.viminfo',
        '.bash_logout',
        '.bash_history',
        'AgentBackup',
        'rdsAgent']

    sftp提供了很多命令,具体内容可以参考官方文档 。

  • 相关阅读:
    while 循环及 break,continue语句
    Binary Search Tree BST Template
    Largest Rectangle in Histogram 解答
    Increasing/ Decreasing Stack
    Stack
    Queue
    Find the largest multiple of 3 解答
    Check whether a given Binary Tree is Complete or not 解答
    Sliding Window Maximum 解答
    Wiggle Sort 解答
  • 原文地址:https://www.cnblogs.com/kex1n/p/6021445.html
Copyright © 2011-2022 走看看