python上传文件到ftp服务器

import os
import time
from ftplib import FTP
ftp = FTP()
# 打开调试级别2, 显示详细信息
# ftp.set_debuglevel(2)
# 服务器IP和端口
ftp.connect("192.168.1.132", 21)
# 匿名登陆, 如果需要登陆, 就把两个空字符串写上用户名和密码就行了("username", "password")
ftp.login(user="ftpadmin", passwd="123456")
# 切换目录, 相对于ftp目录, 比如设置的ftp根目录为/vat/ftp, 那么pub就是/var/ftp下面的目录
ftp.cwd("ftpGZDC")
# 查看目录下有哪些文件, 如果文件名已经存在, 那么再次上传同一个文件就会报错, 返回列表
# print(ftp.nlst("/ftpGZDC"))

# 使用二进制的方式打开文件
f_num = 0
bufsize = 1024
start_time = time.time()
for root, dirs, files in os.walk('E:\test_image\20210201\1\'):
for file in files:
fl = os.path.join(root, file)
file = file.encode("gbk").decode("latin1")
with open(fl, 'rb') as f:
ftp.storbinary('STOR %s' %file, f, bufsize)
f_num = f_num + 1
if int(f_num) % 100 == 0:
print(f_num)
print("共上传文件:%s 个" %f_num)
# 关闭调试模式
# ftp.set_debuglevel(0)
# 退出FTP连接
ftp.quit()
end_time = time.time()
print('用时:%s 秒' % (end_time - start_time))