我尝试使用python搜索一个文件目录,打开每个文件来搜索一个字符串。你知道吗
我们讨论的是不到1000个文件,每个文件有1、2、3行,所以打开它们只需要几秒钟。你知道吗
嗯,我想我成功了,但有一个问题:我要搜索的字符串是“退出0”。你知道吗
#!/usr/bin/env python
import glob
scriptsdir = "/dummydir/*.ksh"
string = "exit 0"
files = glob.glob(scriptsdir)
teste = 0
for script in files:
f=open(script,"r")
for line in f:
if string in line:
teste = teste + 1
f.close()
print teste
这很糟糕,因为代码正在工作:这样,末尾的“teste”值表示目录中.ksh文件的数量,但如果将字符串更改为退出1,则结尾的“teste”值为0。我正在搜索一些文件中存在的“退出0”字符串。你知道吗
有可能吗?我已经对它进行了测试,如果我将字符串值更改为某个存在的值,则计数是正确的。你知道吗
有什么帮助吗?你知道吗
谢谢你
你可以继续阅读所有的内容
f.read()
。你知道吗对于每一个匹配的行,计数器都会增加;如果一个文件不止一次地包含该字符串,那么对于每个匹配项,计数器都会增加。你知道吗
您可以通过在计数器增量后添加一个中断来修复此问题。这将导致Python直接转到下一个文件。你知道吗
谢谢你的评论。当我开始打印“line”值时,我注意到他正在从其他地方获取“exit 0”,再次查找脚本,发现在已写入exit 0的文件中调用了第三个脚本。你知道吗
我不同意这种做事方式,但我没有足够的能力来改变做事的方式,所以在那之后我可以解决我的问题,并看到搜索“出口0”根本不是我的问题。你知道吗
干杯
相关问题 更多 >
编程相关推荐