使用Python计算文本文件中的行,单词和字符

Ale*_*sch 8 python

我有点粗略地说明如何使用Python计算文本文件中的某些元素.我进入Python几个月,我熟悉以下功能;

  • 的raw_input
  • 打开
  • 分裂
  • LEN
  • 打印
  • rsplit()

到目前为止,这是我的代码:

fname = "feed.txt"
fname = open('feed.txt', 'r')

num_lines = 0
num_words = 0
num_chars = 0

for line in feed:
    lines = line.split('\n')
Run Code Online (Sandbox Code Playgroud)

在这一点上,我不知道接下来该做什么.我觉得接近它的最合乎逻辑的方法是首先计算行数,计算每行中的单词,然后计算每个单词中的字符数.但我遇到的一个问题是尝试同时执行所有必要的功能,而不必重新打开文件来单独执行每个功能.

eum*_*iro 22

试试这个:

fname = "feed.txt"

num_lines = 0
num_words = 0
num_chars = 0

with open(fname, 'r') as f:
    for line in f:
        words = line.split()

        num_lines += 1
        num_words += len(words)
        num_chars += len(line)
Run Code Online (Sandbox Code Playgroud)

回到你的代码:

fname = "feed.txt"
fname = open('feed.txt', 'r')
Run Code Online (Sandbox Code Playgroud)

有什么意义呢?fname首先是字符串,然后是文件对象.你并没有真正使用第一行中定义的字符串,你应该只使用一个变量:字符串或文件对象.

for line in feed:
    lines = line.split('\n')
Run Code Online (Sandbox Code Playgroud)

line是文件中的一行.它没有意义split('\n').

  • @Alex Karpowitsch:对`for line in file`中的文件进行迭代会将文件分成几行.`line.split()`将一行转换为单词. (2认同)