介绍
这篇文章主要介绍了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实现上传和下载功能”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!