0
我在python 3中製作了一個簡單的腳本,它進入了一些文件夾(所有文件都被稱爲「recup_dir.x」,x保持1到777之間的數字)並搜索包含「firefox」單詞的文件。由於文件太多,而且這個過程需要很長時間,所以我決定實施多線程。下面是代碼:如何讓線程繼續循環
import os, threading
def loop():
for x in range(800):
inizialize().start()
class inizialize(threading.Thread):
def run(self):
self.program()
def program(self):
n = list(range(778))
n.pop(0)
for z in n:
Path = ("/home/user/Desktop/files/recup_dir.%s/" % (z))
filelist = os.listdir(Path)
print (Path)
for x in filelist:
try:
with open(Path + x, "r", encoding="ascii") as y:
for line in y:
if "firefox" in line:
print ("Found in %s !" % (x))
exit (1)
except:
pass
loop()
的問題是,螺紋(即800)總是做同樣的操作,他們從來沒有傳遞到下一個文件夾中。他們總是留在第一個(recup_dir.1)。
我該怎麼做讓線程繼續在其他文件夾中搜索?
它的作品!但請你,因爲我是新手,你能否請添加更多評論,以便我更好地理解你發佈的代碼?我真的很感激它..例如我沒有得到什麼是第一個功能的用法(__init__) – Sperly1987
http://stackoverflow.com/questions/8609153/why-do-we-use-init-in- python-classes –
不,它不工作......系統顯示「在blabla中找到」,但如果我檢入該文件,則沒有關鍵字。 – Sperly1987