在Python中使用ftplib实现FTP文件上传时自动创建文件夹功能
发布时间:2023-12-19 00:08:45
在Python中,可以使用ftplib模块实现FTP文件上传功能。使用ftplib模块,我们可以连接到FTP服务器,上传文件,并在需要时自动创建文件夹。
以下是一个使用ftplib模块在FTP服务器上上传文件并自动创建文件夹的例子:
from ftplib import FTP
def upload_file_to_ftp(filename, ftp_host, ftp_user, ftp_password, directory):
# 连接到FTP服务器
ftp = FTP(ftp_host)
ftp.login(user=ftp_user, passwd=ftp_password)
# 检查目录是否存在,如果不存在则创建
if directory not in ftp.nlst():
ftp.mkd(directory)
# 切换到目标目录
ftp.cwd(directory)
# 打开本地文件
with open(filename, 'rb') as file:
# 上传文件
ftp.storbinary('STOR ' + filename, file)
# 关闭FTP连接
ftp.quit()
# 调用函数上传文件到FTP服务器
upload_file_to_ftp('file.txt', 'ftp.example.com', 'ftp_user', 'ftp_password', 'upload_folder')
上面的代码首先导入了ftplib模块,然后定义了一个名为upload_file_to_ftp的函数。该函数接受五个参数:要上传的文件名,FTP服务器主机名,FTP用户名,FTP密码和目标文件夹名。
在函数内部,首先使用FTP类的构造函数创建一个FTP对象,并使用login方法登录FTP服务器。
然后,通过使用ftp.nlst方法和目标文件夹名检查目录是否存在。如果目录不存在,则使用ftp.mkd方法创建目录。
接下来,使用ftp.cwd方法切换到目标目录。
然后,使用open函数打开要上传的文件,并使用ftp.storbinary方法上传文件。
最后,使用ftp.quit方法关闭FTP连接。
在调用upload_file_to_ftp函数时,需要传入正确的参数,例如要上传的文件名,FTP服务器主机名,FTP用户名,FTP密码以及目标文件夹名。
上面的例子演示了如何在Python中使用ftplib模块实现FTP文件上传时自动创建文件夹的功能。
