gpt4 book ai didi

python - 在 python 中的文件内搜索

转载 作者:行者123 更新时间:2023-12-01 05:09:52 25 4
gpt4 key购买 nike

我正在处理次声探测器的结果,但有时它们会出现故障,因此数据点被记录为“0”。这是毫无值(value)的数据。我希望能够在文件中搜索“0”,计算它们并打印出结果。

到目前为止,我所能做的就是在文件中搜索“0”并获得正确/错误的答案。

这是我的代码:

def findzero( fname ): 
if os.path.isfile(fname):
f = open( fname )
s = mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ)
if s.find('0') != -1:
print 'true'
else:
print ''
return;

最佳答案

逐行扫描文件,仅使用'0'来计算行数:

def countzero(fname): 
try:
with open(fname) as f:
return sum(line.strip() == '0' for line in f)
except IOError:
# not a file we can read
return None

Python bool类型是int的子类,True等于1,False等于0,因此您可以对 bool 值求和来获得计数。

如果您需要百分比,则需要分别计算行数和 0 计数:

def count_zeros_and_lines(fname): 
try:
with open(fname) as f:
zeros = total = 0
for line in f:
if line.strip() == '0':
zeros += 1
total += 1
return zeros, total
except IOError:
# not a file we can read
return None

这将返回零计数和总行数。

关于python - 在 python 中的文件内搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24384646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com