python不包含某字符,查找不包含某些文本字符串的所有文本文件
我使用的是python2.7.1,我試圖識別所有不包含文本字符串的文本文件。在
這個程序一開始似乎還在工作,但每當我把文本字符串添加到一個文件中時,它總是像不包含它一樣出現(誤報)。當我檢查文本文件的內容時,字符串顯然存在。在
我試著寫代碼def scanFiles2(rdir,sstring,extens,start = '',cSens = False):
fList = []
for fol,fols,fils in os.walk(rdir):
fList.extend([os.path.join(rdir,fol,fil) for fil in fils if fil.endswith(extens) and fil.startswith(start)])
if fList:
for fil in fList:
rFil = open(fil)
for line in rFil:
if not cSens:
line,sstring = line.lower(), sstring.lower()
if sstring in line:
fList.remove(fil)
break
rFil.close()
if fList:
plur = 'files do' if len(fList) > 1 else 'file does'
print '\nThe following %d %s not contain "%s":\n'%(len(fList),plur,sstring)
for fil in fList:
print fil
else:
print 'No files were found that don\'t contain %(sstring)s.'%locals()
scanFiles2(rdir = r'C:\temp',sstring = '!!syn',extens = '.html', start = '#', cSens = False)
我想代碼中有個缺陷,但我真的沒看到。在
更新
代碼仍然會出現許多誤報:確實包含搜索字符串但被標識為不包含該字符串的文件。在
文本編碼會是一個問題嗎?我在搜索字符串前面加了U,以說明Unicode編碼,但這沒有任何區別。在
Python是否以某種方式緩存文件內容?我不這么認為,但這在某種程度上可以解釋文件在被更正后仍然彈出。在
某種惡意軟件會不會引起這樣的癥狀?對我來說似乎不大可能,但我有點迫不及待地想把它修好。在
總結
以上是生活随笔為你收集整理的python不包含某字符,查找不包含某些文本字符串的所有文本文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql多图怎么同时上传,小程序如何同
- 下一篇: jsp oracle 环境配置文件,js