按文本文件行的头、尾和向后读取
如何在Python中实现诸如“head”和“tail”命令以及按文本文件的行向后读取之类的命令?
How to implement somethig like the 'head' and 'tail' commands in python and backward read by lines of a text file?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这是我的个人文件类;-)
用法示例:
This is my personal file class ;-)
Example usage:
head
很简单:如果您不想将整个文件保留在内存中,
tail
就更难了。如果输入是文件,您可以从文件末尾开始读取块。如果输入是管道,原始的tail
也可以工作,因此更通用的解决方案是读取并丢弃整个输入,除了最后几行。一个简单的方法是使用collections.deque
:在这两个代码片段中,
n
是要打印的行数。head
is easy:tail
is harder if you don't want to keep the whole file in memory. If the input is a file, you could start reading blocks beginning at the end of the file. The originaltail
also works if the input is a pipe, so a more general solution is to read and discard the whole input, except for the last few lines. An easy way to do this iscollections.deque
:In both these code snippets,
n
is the number of lines to print.尾巴:
Tail: