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提供了很多命令,具體內容可以參考官方文檔 。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM