我有两个文件,一个用于输入,是“our_input.txt”(与代码文件相同的目录),这是Oscar Wild的Dorian Gray。无论如何,还有一个输出文件,我需要打开原始文件,让Python计算每行有多少个单词,并在输出中写入。
我试过了,但我迷路了......
答案 0 :(得分:1)
你可以尝试这样的事情。
首先阅读输入文件:
with open('our_input.txt') as f:
lines = f.readlines()
然后计算每行的单词数并写入输出文件:
with open('our_output.txt', 'w') as f:
for index, value in enumerate(lines):
number_of_words = len(value.split())
f.write('Line number {} has {} words.\n'.format(index + 1, number_of_words))
答案 1 :(得分:0)
您需要迭代输入文本文件的每一行。这是通过标准for循环完成的。 您可以在每个空格char之后拆分每一行,并使用len()计算列表中的元素数。您将此附加到输出文件,您已完成
答案 2 :(得分:0)
用于文件中字数统计的任何语言的简单技术是:
我们现在有一个字符串,单词空格分隔。
现在要么
或
正在处理的文件的大小可能会使处理器的工作量很大,性能将取决于语言处理字符串和数组的方式。
如果您正在使用客户端 - 服务器或文本存储在数据库中,请考虑移动字符串的高网络成本。最好将计数尽可能靠近数据位置运行。因此,如果使用RDBMS,则使用存储过程 - 更快地计算2Gb字符串中的单词,并将带有答案的int变量发送到客户端,而不是发送2Gb字符串并在Web浏览器中计数。
如果您无法一次读取整个文件,那么您可以逐行阅读并按行执行上述技术。但是,由于字符串处理和循环运行开销,如果您可以将整个文件作为一个字符串处理,性能会更快。