Python- 编写一个函数,打开 .txt 文件并返回其中的总词数

0 投票
4 回答
2095 浏览
提问于 2025-05-01 13:38

我尝试了很久想要做到这一点,但不知为什么我就是搞不懂这段简单的代码。标点符号不用担心,这只是普通文本。

def wc(filename):

    f = open(filename, 'r')    # Read
    words = f.readlines()
    f.close()
    print int(filename.split())
    p = 1
    for word in words:
        p += words
    return p

我找了很久的答案,但只能找到一些计算特定单词的例子。

暂无标签

4 个回答

0

这个代码会给你一些行。

words = f.readlines()

你需要在循环里面用.split()方法来分割word变量。

word_count += len(word.split())
0

在编程中,有时候我们需要处理一些数据,这些数据可能来自不同的地方,比如用户输入、文件或者网络请求。为了让程序能够顺利运行,我们需要确保这些数据是正确的。

数据验证就是这个过程,它的目的是检查输入的数据是否符合我们预期的格式或规则。比如,如果我们希望用户输入一个电子邮件地址,我们就需要检查这个输入是否看起来像一个有效的电子邮件地址。

如果数据不符合要求,程序就会给出错误提示,告诉用户哪里出错了,这样用户就可以重新输入正确的信息。通过这种方式,我们可以避免程序因为错误的数据而崩溃或产生意外的结果。

总之,数据验证是确保程序正常运行的重要步骤,它帮助我们捕捉错误,提升用户体验。

with open(filename, 'r+') as f:
    words = f.read()
words = words.split(' ')
words_nbr = len(words)
print(words_nbr)
1

split 方法可以接收一个参数 sep,这个参数用来指定你想要在哪些字符上进行分割(也就是分隔符)。

字符串模块里有一些常量,比如 punctuationwhitespace

把这些结合起来,你就可以得到

import string

filename = 'words.txt'

with open(filename) as f:
    words = f.read().split(string.whitespace + string.punctuation)

print len(words)
1

在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。这些问题可能会让我们感到困惑,尤其是当我们刚开始学习编程的时候。比如,有人可能会在使用某个功能时,发现它的表现和预期不一样。这种情况很常见,尤其是在处理复杂的代码或数据时。

解决这些问题的一个好方法是查阅相关的文档或者在网上搜索类似的问题。很多时候,其他人也遇到过相同的情况,他们可能已经找到了解决方案或者给出了有用的建议。

此外,参与一些编程社区,比如StackOverflow,可以让我们从其他开发者的经验中学习。我们可以看到他们是如何解决问题的,或者他们是如何理解某些概念的。这不仅能帮助我们解决当前的问题,还能提高我们的编程能力。

总之,遇到问题时不要气馁,利用好身边的资源,慢慢积累经验,你会发现编程其实是一个不断学习和成长的过程。

f = open(filename)    # Read
words = f.read()
f.close()
words = words.split()
print len(words)

撰写回答