计算txt文件Python中的数字和空格的总和

时间:2015-05-26 09:43:53

标签: python count sum

为此,我要创建一个计算" 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)

3 个答案:

答案 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', ' ')))

这会创建一个字符串,其中包含您要查找的字符,然后确定该字符串的长度。