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
到此这篇关于python连接FTP服务器的实现方法的文章就介绍到这了,更多相关python连接FTP服务器内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!