Windows 7 で Python 2.7 を使用します。
サブフォルダーも調べて、パス内のファイルを見つけるための再帰関数があります。
私の問題:長時間の検索中に、 on
の値を確認したいと考えています。しかし、 「より深い」関数呼び出し/実行を中断しているため
、コードは でエラーを発生させています。retval
KeyboardInterrupt
KeyboardInterrupt
私の質問:
ループを中断せずに値を出力する方法はありますか、
または
同じことを行う別の方法(それは使用していませんKeyboardInterrupt
が、何か他のものです)
私のコード:
import os
def search(path,filename):
try:
global found
folders = []
retval = []
try:
for item in os.listdir(path):
if not os.path.isfile(os.path.join(path, item)):
folders.append(os.path.join(path, item))
else:
if item == filename:
found += 1
retval.append(os.path.join(path, item))
except WindowsError,e:
print str(e)[10:]
for folder in folders:
retval += search(folder,filename)
return retval
except KeyboardInterrupt:
print retval
found = 0
path = 'C:\\'
filename = 'test.txt'
print search(path,filename)