为此,我要创建一个计算" 0"的数量的代码。在txt文件中,还有白色步数/空格数。我已经完成了大部分内容,但我不确定如何计算空白
fname=open("done.txt", 'r')
text = fname.read()
count = 0
countBlank=0
for line in text:
for char in line:
if char.isdigit()==True:
if char == "0":
count = count + 1
print sum(count+countBlank)
答案 0 :(得分:4)
您可以使用str.isspace
检查空格,如果您只想计算“0”,那么只需检查"0"
。
if char == "0":
zero_count += 1
elif char.isspace():
spc_count += 1
如果您不希望个人统计使用or
:
if char == "0" or char.isspace():
total += 1
或用于:
total += char in {" ","0"}
或使用Counter词典:
from collections import Counter
with open("done.txt", 'r') as f:
cn = Counter(f.read())
print(cn[" "])
print(cn["0"])
print(cn[" "] + cn["0"])
您知道text.split()
代码中没有任何内容,如果您分割了文本,那么您将丢失所有空格。此外str.isspace
也适用于标签等..因此,根据您在文件中的内容,将决定您可以使用或不使用的内容
答案 1 :(得分:2)
还有builtin sum和生成器:
AllLinks
答案 2 :(得分:0)
突然出现的第一种方式是:
with open(r'input.txt', 'r') as f:
count = len(''.join(c for line in f for c in line if c in ('0', ' ')))
这会创建一个字符串,其中包含仅您要查找的字符,然后确定该字符串的长度。