Python如何使用sftp实现上传和下载功能

  介绍

这篇文章主要介绍了Python如何使用sftp实现上传和下载功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。

Python可以做什么

Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通俗易懂,容易入门,功能强大,在许多领域中都有广泛的应用,例如最热门的大数据分析,人工智能,网页开发等。

在Python中可以使用paramiko模块中的sftp登陆远程主机,实现上传和下载功能。

1。功能实现

1,根据输入参数判断是文件还是目录,进行上传和下载
2,本地参数<强>本地需要与远程参数<强>远程类型一致,文件以文件名结尾,目录以\结尾
3,上传和下载的本地和远程目录需要存在
4,异常捕获

2。代码实现

# !/usr/bin/python   #=utf - 8编码      import  paramiko   import 操作系统      def  sftp_upload(主机、端口、用户名、密码、本地、远程):   ,,,sf =, paramiko.Transport((主机、端口))   ,,,sf.connect (=username 用户名、password =,密码)   ,,,sftp =, paramiko.SFTPClient.from_transport (sf)   ,,,试一试:   ,,,,,,,if  os.path.isdir(当地):#判断本地参数是目录还是文件   ,,,,,,,,,,,for  f 拷贝os.listdir(当地):#遍历本地目录   ,,,,,,,,,,,,,,,sftp.put (os.path.join(本地+ f) os.path.join(远程+ f)) #上传目录中的文件   ,,,,,,,其他的:   ,,,,,,,,,,,sftp.put(本地、远程)#上传文件   ,,,except 例外,e:   ,,,,,,,印刷(& # 39;upload 例外:& # 39;,e)   ,,,sf.close ()      def  sftp_download(主机、端口、用户名、密码、本地、远程):   ,,,sf =, paramiko.Transport((主机、端口))   ,,,sf.connect (=username 用户名、password =,密码)   ,,,sftp =, paramiko.SFTPClient.from_transport (sf)   ,,,试一试:   ,,,,,,,if  os.path.isdir(当地):#判断本地参数是目录还是文件   ,,,,,,,,,,,for  f 拷贝sftp.listdir(远程):#遍历远程目录   ,,,,,,,,,,,,,,,,sftp.get (os.path.join(远程+ f) os.path.join(本地+ f)) #下载目录中文件   ,,,,,,,其他的:   ,,,,,,,,,,,sftp.get(远程、本地)#下载文件   ,,,except 例外,e:   ,,,,,,,印刷(& # 39;download 例外:& # 39;,e)   ,,,sf.close ()      if  __name__ ==, & # 39; __main__ # 39;:   ,,,host =, & # 39; 192.168.1.2& # 39; #主机   ,,,port =, 22日,#端口   ,,,username =, & # 39;根# 39;,#用户名   ,,,password =, & # 39; 123456 & # 39;, #密码   ,,,local =, & # 39; F: \ \ sftptest \ \ & # 39; #本地文件或目录,与远程一致,当前为windows目录格式,窗口目录中间需要使用双斜线   ,,,remote =, & # 39;/opt/tianpy5/python/测试/& # 39;#远程文件或目录,与本地一致,当前为linux目录格式   ,,,sftp_upload(主机、端口、用户名、密码、本地、远程)#上传   ,,,# sftp_download(主机、端口、用户名、密码、本地、远程)#下载

感谢你能够认真阅读完这篇文章,希望小编分享的“Python如何使用sftp实现上传和下载功能”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

Python如何使用sftp实现上传和下载功能