python下载文件记录黑名单的实现代码
具体代码如下所示:
#!/usr/bin/python #-*-coding:GBK-*- #-*-coding:UTF-8-*- fromftplibimportFTP importos importdatetime ftp_server='127.0.0.1'#对应ftp服务器地址 username='ponshine'#用户名 password='1qaz2wsx'#密码 ftp_path='/GBCC/'#ftp目录 local_path="C:\F\python\pythonwangtest\wyjj2\\"#本地的目录 #连接FTP defftpconnect(): ftp=FTP() ftp.set_debuglevel(2)#打开调试级别2,显示详细信息 ftp.connect(ftp_server,21)#连接 ftp.login(username,password)#登录,如果匿名登录则用空串代替即可 returnftp #获取当前的年月日时分秒 defgetdatetime(): i=datetime.datetime.now() date=("%s%s%s%s%s%s"%(i.year,i.month,i.day,i.hour,i.minute,i.second)) returndate#需返回才能取值 #获取当前的年月日 defgetdate(): importdatetime i=datetime.datetime.now() date=("%s%s%s"%(i.year,i.month,i.day)) returndate#需返回才能取值 defdownloadfile(remotepath,localpath): ftp=ftpconnect()#连接ftp printftp.getwelcome()#显示ftp服务器欢迎信息 ftp_filename=ftp.nlst(remotepath)#运用nlst()获取文件名 print'ftp_filename:',ftp_filename#ftp上的文件名 foreachfileinftp_filename:#循坏取文件名 ifeachfile.endswith('.AVL'): localpath_files=eachfile.split("/") localpath_file=localpath_files[len(localpath_files)-1]#文件名:localpath_file=GBCC_201611102155_01.AVL print"localpath_file--->"+localpath_file #创建记录下载文件名的文件名 writefiletext=local_path+getdate()+".txt"#记录下载后的文件名 print"writefile_text--->"+writefiletext ifos.path.exists(writefiletext): printwritefiletext+"isexists" else: printwritefiletext+"isnotexists" makefile=open(writefiletext,"w+") makefile.close() files=open(writefiletext,"r")#打开黑名单表 print"writefiletext--->"+writefiletext try: all_the_text=files.read() print"all_the_text-------》"+all_the_text ifall_the_text.__contains__(localpath_file): print"文件已下载,不需要重复下载" else: print"文件没有下载,现在开始下载" bufsize=1024#设置缓冲块大小 fp=open(localpath+localpath_file,"wb+") ftp.retrbinary('RETR'+eachfile,fp.write,bufsize)#下载文件 fo=open(writefiletext,"ab+") fo.write(localpath_file+"\n")#将每个文件名写入文件 fo.flush()#刷新文件 fo.close() fp.flush() finally: print"结束了" files.close() ftp.set_debuglevel(0) ftp.close() if__name__=="__main__": downloadfile("/GBCC","C:\F\python\pythonwangtest\wyjj2\\")
补充:python黑名单过滤
需要过滤一些词语
写了下面这个函数,在blacklist文件中添加需要过滤的词语
#过滤黑名单列表中出现的 defin_lists(str): str_lists=[] fd=open('./filter/blacklist') forlineinfd.readlines(): str_lists.append(line.strip()) ifstrinstr_lists: return0 else: return1
通过python自带的filter函数调用,in_lists,filter函数会过滤掉bool值为1的列表中的元素
filter(in_lists,urls)
总结
以上所述是小编给大家介绍的python下载文件记录黑名单,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!