python 遍历_Python实现遍历数据库并获取key的值

遍历Redis数据库中有以格式为PREFIX_*的按照key-value方式存储的key,并打印其值.

遍历使用SCAN,因为KEYS PREFIX_*可能会造成Redis长时间阻塞。

查询使用pipeline减少交互,提高效率。

import redis

import hiredis

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 = []

for key in r.scan_iter(match='PREFIX_*', count=100000):

key_list.append(key)

pipe.get(key)

if len < pipe_size:

len += 1

else:

for (k, v) in zip(key_list, pipe.execute()):

print k, v

len = 0

key_list = []

for (k, v) in zip(key_list, pipe.execute()):

print k, v

附上其他网页的代码,参考下吧

# filename itertaorfilefolder

import os

import os.path

filePath = raw_input('Enter filepath : ')

#遍历文件夹

#三个参数:分别返回1.父目录 2.所有文件夹名字(不含路径) 3.所有文件名字

for parent ,dirnames , filenames in os.walk(filePath):

#输出文件夹信息

for dirname in dirnames:

print 'parent is :'+parent

print 'dirname is '+ dirname

#输出文件信息

for filename in filenames :

print 'parent is :'+parent

print 'filename is :' + filename

#输出文件路径信息

currentPath = os.path.join(parent,filename)

print 'the fulll name of the file is :'+ currentPath

filesize = os.path.getsize(currentPath)/1024/1024

print 'the file size is : %.3f MB' %(filesize)

#删除大于50m的文件

if filesize > 50:

delete = raw_input(' are you sure to delete ?')

if delete == 'yes':

os.remove(currentPath)

以上所述就是本文的全部内容了,希望大家能够喜欢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值