前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python ftp测试

python ftp测试

作者头像
py3study
发布2020-01-13 13:11:24
1.2K0
发布2020-01-13 13:11:24
举报
文章被收录于专栏:python3python3

刚学Python,做的ftp测试

1,简单ftp

vim test.py

#!/usr/bin/env python import time from ftplib import FTP local_dir_update="*****" local_dir_download="*******" remote_host="*.*.*.*" port="21" remote_user="name" remote_passwd="password" ftp=FTP() ftp.set_debuglevel(2) ftp.connect(remote_host,port) ftp.login(remote_user,remote_passwd) print ftp.getwelcome() #ftp.cwd() bufsize = 1024 filename='ha.txt' file_handler = open(filename,'rb') ftp.storbinary('STOR ha.txt',file_handler,bufsize) ftp.set_debuglevel(0) file_handler.close() ftp.quit()

2.稍复杂点

vim myftp.py

#!/usr/bin/env python import time,socket from ftplib import FTP class MyFtp:         def __init__(self,hostaddr,username,password,remotedir='./',port=21):                 self.hostaddr=hostaddr                 self.username = username                  self.password = password                  self.remotedir  = remotedir                  self.port     = port                  self.ftp      = FTP()                  self.file_list = []         def __del__(self):                 self.ftp.quit()         def login(self):                 ftp = self.ftp                 try:                         timeout = 60                         socket.setdefaulttimeout(timeout)  ftp.set_pasv(True)                          print 'connecting %s...' %(self.hostaddr) ftp.connect(self.hostaddr, self.port)  ftp.login(self.username, self.password)                          print 'login is ok'                 except Exception,e:                          print str(e)                 try:  ftp.cwd(self.remotedir)                  except(Exception):                          print 'change dir is failed..'         def put_files(self,filename):                 ftp = self.ftp                 self.filename=filename                 command='STOR '+self.filename                 file_handler = open(self.filename,'rb')                 bufsize=1024 ftp.storbinary(command,file_handler,bufsize)                 print 'upload is ok'                 file_handler.close()         def download_files(self,filename):                 ftp = self.ftp                 self.filename = filename                 command='RETR '+self.filename                 bufsize=1024 ftp.retrbinary(command,open(self.filename,'wb').write,bufsize) if __name__ == '__main__':         remote_host="*******"         remote_user="name"         remote_passwd="*******"         remotedir='./'         port='21'         filename='ha.txt'         f = MyFtp(remote_host,remote_user,remote_passwd,remotedir,port)         f.login() #       f.put_files(filename) #       f.download_files(filename)         a=['ha.txt','ha1.txt','ha2.txt']         for a1 in a:                 f.download_files(a1)         print 'download is ok'

3.与上面配合写的一个,在一个特定目录下的文件执行脚本到服务器上取.zip文件。(工作中用到,才写)

vim download.py

#!/usr/bin/env python import os,time from  myftp import MyFtp file_list=['xxxxxx','xxxxxx,'xxxxxx','xxxxxx','xxxxxx'] local_dir_update="/xxxxxx" local_dir_download="/xxxxxx" a=time.localtime(time.time()+24*60*60) dt=time.strftime('%Y%m%d',a) if os.path.exists(local_dir_download+os.sep+dt):         print "ok" else:         os.mkdir(local_dir_download+os.sep+dt)

if __name__ == '__main__':         remote_host="xxxxxx"         remote_user="cxxxxxx"         remote_passwd="xxxxxx"         remotedir=dt         port='21'         filename='ha.txt'         f = MyFtp(remote_host,remote_user,remote_passwd,remotedir,port)         f.login() #       f.put_files(filename) #       f.download_files(filename)         a=os.listdir(local_dir_update)         os.chdir(local_dir_download+os.sep+dt)         for a1 in a:                 if a1 in file_list:                         f.download_files(a1+".zip")         print 'download is ok'

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档