python的FTP模块的解决办法
内容摘要
这篇文章主要为大家详细介绍了python的FTP模块的简单示例,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记。python本身自带一个FTP模块,可
对此感兴趣的朋友,看看idc笔记做的技术笔记。python本身自带一个FTP模块,可
文章正文
这篇文章主要为大家详细介绍了python的FTP模块的简单示例,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记。python本身自带一个FTP模块,可以轻松实现FTP的上传,下载等操作。下面来看看用法:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <code class = "python" > # 来自www.idcnote.com from ftplib import FTP import socket #用来设置超时时间 FTP.connect(服务器地址,端口,超时时间) # 连接服务器 FTP.login(用户名,用户密码) # 用户登录 FTP.pwd(路径) # 读取操作路径 FTP.cwd(路径) # 设置要操作FTP文件夹路径 FTP.nlst() # 获得目录下文件 FTP.retrbinary(文件名, 回调函数) # 下载FTP上的文件 FTP. delete (文件名) # 删除FTP文件 FTP.storbinary(文件名, 文件对象 [,块大小]) # 上传FTP文件 FTP.quit() # 退出FTP服务器 FTP.set_pasv(boolean) # 是否设置为被动模式 FTP.rename(old, new ) # 重命名 FTP. delete (path) # 删除文件 FTP.mkd(directory) # 创建目录</code> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | <code class = "python" > # 来自www.idcnote.com import socket from ftplib import FTP ftp_server= 'xx.xx.xx.xx' ftp_user= 'xxxxx' ftp_password= 'xxxxx' ftp_backup_dir= 'backup' newday = date .today() #获取今天的日期 oldday = date .today()-timedelta(5) #获得5天前的日期 newfile = '/home/backup/' + 'backup_data_' + str(newday.year) + '.' + str(newday.month) + '.' + str(newday.day) + '.zip' #本次备份文件名(绝对路径) oldfile = '/home/backup/' + 'backup_data_' + str(oldday.year) + '.' + str(oldday.month) + '.' + str(oldday.day) + '.zip' #5天前备份的文件名(绝对路径) def upload(): socket.setdefaulttimeout(60) #超时FTP时间设置为60秒 ftp = FTP(ftp_server) print ( "login ftp..." ) try : ftp.login(ftp_user, ftp_password) print (ftp.getwelcome()) #获得欢迎信息 try : if ftp_backup_dir in ftp.nlst(): print ( "found backup folder in ftp server, upload processing." ) else : print ( "don't found backup folder in ftp server, try to build it." ) ftp.mkd(ftp_backup_dir) except: print ( "the folder" + ftp_backup_dir + "doesn't exits and can't be create!" ) sys. exit () except: print ( "ftp login failed.exit." ) sys. exit () ftp.cwd(ftp_backup_dir) #设置FTP路径 print ( "upload data..." ) try : ftp.storbinary( 'STOR ' + os.path. basename (newfile), open(newfile, 'rb' ), 1024) #上传备份文件 except: print ( "upload failed. check your permission." ) print ( "delte old file..." ) try : ftp. delete (os.path. basename (oldfile)) #删除5天前的备份文件 except: print ( "the old file in ftp doesn't exists, jumped." ) print ( "ftp upload successful.exit..." ) ftp.quit() if __name__== '__main__' : upload()</code> |
注:关于python的FTP模块的简单示例的内容就先介绍到这里,更多相关文章的可以留意
代码注释