使用对文本文件拼写错误的计数不正确的输出
Incorrect output using count on text file spelling errors
我正在尝试使用 python 和 enchant 计算目录中多个文本文件中的拼写错误数。这是我的代码:
for file in os.listdir(path):
if file.endswith(".txt"):
f = open(file, 'r', encoding = 'Latin-1')
text = f.read()
chkr.set_text(text)
count = 0
for err in chkr:
count += 1
print (file, count)
然而,我没有得到文件中所有错误的总数,而是得到了多次打印的文件的累积计数,例如:
ca001_mci_07011975.txt 1
ca001_mci_07011975.txt 2
ca001_mci_07011975.txt 3
ca001_mci_07011975.txt 4
ca001_mci_07011975.txt 5
ca001_mci_07011975.txt 6
ca001_mci_07011975.txt 7
ca001_mci_07011975.txt 8
目录中只有一个名为 ca001_mci_07011975 的文件,所以我期待:
ca001_mci_07011975.txt 8
我这辈子都想不通我做错了什么!非常感谢任何帮助。
试试这个:
for file in os.listdir(path):
if file.endswith(".txt"):
f = open(file, 'r', encoding = 'Latin-1')
text = f.read()
chkr.set_text(text)
errors_count = 0
for err in chkr:
errors_count += 1
print (file, errors_count )
问题是,您实际上是在为每个循环迭代打印。此外,我将 count
变量更改为更相关的内容。
我正在尝试使用 python 和 enchant 计算目录中多个文本文件中的拼写错误数。这是我的代码:
for file in os.listdir(path):
if file.endswith(".txt"):
f = open(file, 'r', encoding = 'Latin-1')
text = f.read()
chkr.set_text(text)
count = 0
for err in chkr:
count += 1
print (file, count)
然而,我没有得到文件中所有错误的总数,而是得到了多次打印的文件的累积计数,例如:
ca001_mci_07011975.txt 1
ca001_mci_07011975.txt 2
ca001_mci_07011975.txt 3
ca001_mci_07011975.txt 4
ca001_mci_07011975.txt 5
ca001_mci_07011975.txt 6
ca001_mci_07011975.txt 7
ca001_mci_07011975.txt 8
目录中只有一个名为 ca001_mci_07011975 的文件,所以我期待:
ca001_mci_07011975.txt 8
我这辈子都想不通我做错了什么!非常感谢任何帮助。
试试这个:
for file in os.listdir(path):
if file.endswith(".txt"):
f = open(file, 'r', encoding = 'Latin-1')
text = f.read()
chkr.set_text(text)
errors_count = 0
for err in chkr:
errors_count += 1
print (file, errors_count )
问题是,您实际上是在为每个循环迭代打印。此外,我将 count
变量更改为更相关的内容。