Python实现遍历数据库并获取key的值
遍历Redis数据库中有以格式为PREFIX_*的按照key-value方式存储的key,并打印其值.
遍历使用SCAN,因为KEYSPREFIX_*可能会造成Redis长时间阻塞。
查询使用pipeline减少交互,提高效率。
importredis importhiredis pool=redis.ConnectionPool(host='127.0.0.1',port=6379,db=0) r=redis.Redis(connection_pool=pool) pipe=r.pipeline() pipe_size=100000 len=0 key_list=[] forkeyinr.scan_iter(match='PREFIX_*',count=100000): key_list.append(key) pipe.get(key) iflen<pipe_size: len+=1 else: for(k,v)inzip(key_list,pipe.execute()): printk,v len=0 key_list=[] for(k,v)inzip(key_list,pipe.execute()): printk,v
附上其他网页的代码,参考下吧
#filenameitertaorfilefolder importos importos.path filePath=raw_input('Enterfilepath:') #遍历文件夹 #三个参数:分别返回1.父目录2.所有文件夹名字(不含路径)3.所有文件名字 forparent,dirnames,filenamesinos.walk(filePath): #输出文件夹信息 fordirnameindirnames: print'parentis:'+parent print'dirnameis'+dirname #输出文件信息 forfilenameinfilenames: print'parentis:'+parent print'filenameis:'+filename #输出文件路径信息 currentPath=os.path.join(parent,filename) print'thefulllnameofthefileis:'+currentPath filesize=os.path.getsize(currentPath)/1024/1024 print'thefilesizeis:%.3fMB'%(filesize) #删除大于50m的文件 iffilesize>50: delete=raw_input('areyousuretodelete?') ifdelete=='yes': os.remove(currentPath)
以上所述就是本文的全部内容了,希望大家能够喜欢。