file = open(file_variable)
n = 0
line = file.readline()
while line != "":
for ch in line:
if ch in '.?!':
n += 1
file.readline()
return n
file_variable.close()
当我尝试在主程序中打印n时,它不会返回任何内容。有人可以就我做错了什么给我建议。我对如何阅读txt文件有点困惑。
主程序
from functions import sentence_count
file_variable = 'pelee.txt'
n = sentence_count(file_variable)
print(n)
答案 0 :(得分:2)
您需要将line
变量重置为文件的下一行:
while line != "":
for ch in line:
if ch in '.?!':
n += 1
line = file.readline()
我会反复遍历文件类对象的行:
f = open('example.txt', 'r')
for line in f:
if '.' in line or '?' in line or '!' in line:
n += 1
这是有效的,因为Python的open()
函数返回一个可迭代对象(io.TextIOBase
),允许您在for循环中导航文件的内容。 iterable返回的每个项目都是文件的下一行。您可以在line
变量中查看您要查找的字符。