下面是我的“灰色”档案搜索器的nut子和bol子。 我在沙尔仍然 no,比考虑效率和业绩更乐于制定工作守则。 我想从你们的沙尔那里或任何其他语言中知道,老兵在我能做些什么来提高我守则的效率,从而加快步伐? 我在某个地方阅读了描述文字的内容,但我并不真正熟悉这一概念,也不肯定这一概念是否适用。 目前,我的法典大约需要4-5分钟的时间通过100份档案(最大的档案为5000KB)。 这非常缓慢。
法典:
userstring = raw_input("Enter a search string!")
...
...
...
if userstring:
userStrHEX = userstring.encode( hex )
userStrASCII = .join(str(ord(char)) for char in userstring)
regex = re.compile(r"(%s|%s|%s)" % ( re.escape( userstring ), re.escape(userStrHEX ), re.escape( userStrASCII )))
else:
sys.exit( You Must Enter A String!!! )
count = 0
count2 = 0
for afile in filelist:
(head, filename) = os.path.split(afile)
if afile.endswith(".log") or afile.endswith(".txt"):
count2 += 1
self.progress_bar.Show()
self.progress_bar.SetRange(numFiles)
wx.CallAfter(self.progress_bar.SetValue, count2)
f=ftp.open(afile, r )
for i, line in enumerate(f.readlines()):
result = regex.search(line)
if self.shouldAbort:
return self.shouldAbort
break
if result:
count += 1
ln = str(i)
pathname = os.path.join(afile)
template = "
Line: {0}
File: {1}
String Type: {2}
"
output = template.format(ln, pathname, result.group())
ftp.get(afile, c:\Extracted\ + filename)
temp.write(output)
break
else:
temp.write("
No Match in: " + os.path.join(afile))