使用Python计算文本文件中的行、字和字符

2024-05-23 15:09:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有点不太清楚如何使用Python计算文本文件中的某些元素。我对Python有几个月的了解,熟悉以下函数

  • 原始输入
  • 打开
  • 分裂
  • 打印
  • 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')

现在我不知道下一步该怎么办。我觉得最合乎逻辑的方法是先数行,数每行中的单词,然后数每个单词中的字符数。但我遇到的一个问题是试图同时执行所有必需的函数,而不必重新打开文件来分别执行每个函数。


Tags: 函数代码txt元素feedlineopen单词
3条回答
fname = "feed.txt"
feed = open(fname, 'r')

num_lines = len(feed.splitlines())
num_words = 0
num_chars = 0

for line in lines:
    num_words += len(line.split())

可能有用的功能:

  • open("file").read()它一次读取整个文件的内容
  • 'string'.splitlines()分隔行(并丢弃空行)

通过使用len()和这些函数,您可以完成所做的工作。

试试这个:

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)

回到你的代码:

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

这有什么意义?fname首先是字符串,然后是文件对象。您不必真正使用第一行中定义的字符串,您应该只为一件事使用一个变量:字符串或文件对象。

for line in feed:
    lines = line.split('\n')

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

相关问题 更多 >