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)
以上所述就是本文的全部内容了,希望大家能够喜欢。