python连接FTP服务器的实现方法
作者:走召大爷 发布时间:2022-04-07 14:34:03
python中ftplib模块支持ftp操作,主要使用FTP类。本文使用ftp操作进行连接FTP服务器、获取当前目录文件清单、上传文件等操作。
参考文献1的示例中,在创建FTP实例时指定FTP服务器地址,此时FTP端口默认使用的21端口。由于之前创建的FTP服务器,端口改成了21001,无法在FTP类中指定端口,本文创建FTP类实例后,调用connect函数指定服务器和端口,并连接FTP服务器。
FTP服务器连接成功后,调用login函数,指定用户名和密码,登录服务器。
登录后,默认是在根目录下,可以调用dir函数显示当前目录下的文件清单,包括文件和文件夹,不过此时会将中文显示为乱码,如下图所示:
根据参考文献3,设置FTP对象实例的编码方式,即可正常显示中文,此时程序代码及运行结果如下所示:
import ftplib
host='192.168.11.50'
f=ftplib.FTP()
f.encoding = 'GB18030'
f.connect(host,21001)
f.login('ftpuser','XXXXXXXXXXX')
print("FTP服务器已经成功登录")
f.dir()
print('当前工作目录:',f.pwd())
f.quit()
print("FTP服务器已断开")
目前学习的python上传文件的方式和C#调用FluentFTP上传文件不太一样,FluentFTP直接指定本地文件路径和上传文件路径即可,但是用python,首先先调用FTP类的cwd函数切换到要上传到的FTP服务器文件夹,然后调用文件操作函数open打开要上传的文件,最后调用FTP类的storbinary函数上传文件。
程序代码、执行结果如下所示:
import ftplib
host='192.168.11.50'
f=ftplib.FTP()
f.encoding = 'GB18030'
f.connect(host,21001)
f.login('ftpuser','XXXXXXXXXXX')
print("FTP服务器已经成功登录")
f.dir()
print('当前工作目录:',f.pwd())
f.cwd("音乐")
upload_file="/home/hp/文档/音乐/再度重相逢.ape"
ff=open(upload_file,'rb')
print(f.storbinary("STOR 再度重相逢.ape",ff))
f.quit()
print("FTP服务器已断开")
参考文献
[1]Python从菜鸟到高手
[2]https://docs.python.org/3/library/ftplib.html#ftplib.FTP
[3]https://blog.csdn.net/weixin_33701564/article/details/91918434
来源:https://blog.csdn.net/huachao1001/article/details/124060003


猜你喜欢
- 一、基于json模块的存储、读取数据names_writer.pyimport jsonnames = ['joker',&
- 有时候需要一次性将SQL Server中的数据导出给其他部门的也许进行关联或分析,这种需求对于SSIS
- 前言本文主要给大家介绍了利用django-suit模板在管理后台添加自定义的菜单和自定义的页面、设置访问权限的相关内容,分享出来供大家参考学
- MySQL的索引类型有普通索引(normal),唯一索引(unique)和全文索引(full text),合理使用索引可大大提升数据库的查询
- 听歌识曲,顾名思义,用设备“听”歌曲,然后它要告诉你这是首什么歌。而且十之八九它还得把这首歌给你播放出来。这样的功能在QQ音乐等应用上早就出
- 今天有个学生问我:页面中使用GIF格式,失真太大,怎么办呢?这个问题比较简单啊,只要用JPG就可以了。我们常用的页面的图片格式有三种,GIF
- <html> <head> <title>51windows.Net </title> &l
- 使用ASP处理XSLT转换XML比较简单,思路如下:创建一个XSLTemplate的对象,再创建一个XMLDOM对象,然后在家Xml文件和X
- GeoJson的简要介绍GeoJson是用json的语法表达和存储地理数据,可以说是json的子集。GeoJson以键值对的形式保存原有对象
- 使用递归实现words = ['giraffe', 'elephant', 'ant', &
- 小编曾经有过这样的经历,就是在安装使用django框架时候,遇到了部分模块不能够使用,检查了很久,才发现是因为版本问题,需要重新编译安装一个
- 通过PyFetion可以很方便的使用python来用飞信发送短信,下面贴出代码:from fetion import *import osd
- 目录plsql141. 安装注册使用 1.激活了会提示激活成功plsql developer14是由Allround Automa
- 一、python-yml文件读写使用库 :import yaml安装:pip install pyyaml示例:文件config2.ymlg
- 在python中我们可以使用openCV给图片添加水印,这里注意openCV无法添加汉字水印,添加汉字水印上可使用PIL库给图片添加水印一:
- 内容摘要:一堆数据摆面前,数据背后有什么样的事情在发生,这些数据里面暗藏着什么样的用户需求,什么样的商业机会?看懂这些,将为未来产品设计的方
- 终于完成了偶的拖动窗口,花了近15个小时,庆祝一下(*^__^*);以前写了IE下的功能,于是又写了firefox下的功能,在firefox
- 引言在 Golang 中,将 URL 打包用于从服务器获取数据非常重要。只需了解您是否正在处理任何应用程序并且您想从任何外部位置或服务器获取
- 1.python实现对doc文档的读取#读取docx中的文本代码示例import docx#获取文档对象file=docx.Document
- 微信小程序实现人脸识别,具体应用场景 前端实现人脸信息采集 拍到正面照片 发送给后端该方法暂