萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> Python實現遍歷數據庫並獲取key的值

Python實現遍歷數據庫並獲取key的值

   本文給大家分享的是Python實現遍歷數據庫並獲取key的值的方法,主要是使用for循環來實現,有需要的小伙伴可以參考下。

  遍歷Redis數據庫中有以格式為PREFIX_*的按照key-value方式存儲的key,並打印其值.

  遍歷使用SCAN,因為KEYS PREFIX_*可能會造成Redis長時間阻塞。

  查詢使用pipeline減少交互,提高效率。

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 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

  附上其他網頁的代碼,參考下吧

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 # 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)

  以上所述就是本文的全部內容了,希望大家能夠喜歡。

copyright © 萬盛學電腦網 all rights reserved