相关疑难解决方法(0)

使用Python获取文件的最后n行,类似于tail

我正在为Web应用程序编写一个日志文件查看器,为此我想通过日志文件的行分页.文件中的项目是基于行的,底部是最新项目.

所以我需要一种tail()方法,可以n从底部读取行并支持偏移量.我想出的是这样的:

def tail(f, n, offset=0):
    """Reads a n lines from f with an offset of offset lines."""
    avg_line_length = 74
    to_read = n + offset
    while 1:
        try:
            f.seek(-(avg_line_length * to_read), 2)
        except IOError:
            # woops.  apparently file is smaller than what we want
            # to step back, go to the beginning instead
            f.seek(0)
        pos = f.tell()
        lines = f.read().splitlines()
        if len(lines) >= to_read or pos == 0:
            return lines[-to_read:offset and -offset or None]
        avg_line_length …
Run Code Online (Sandbox Code Playgroud)

python file-io file tail logfiles

174
推荐指数
10
解决办法
14万
查看次数

如何使用C从下往上读取行?

我需要从下到上读取文件中列出的数字.我怎么能用C做到这一点?

该文件如下:

4.32
5.32
1.234
0.123
9.3
6.56
8.77
Run Code Online (Sandbox Code Playgroud)

例如,我想阅读最后三个数字.他们必须是float类型.

8.77
6.56
9.3
Run Code Online (Sandbox Code Playgroud)

PS.:实际上我需要一个使用fseek等播放文件指针位置的解决方案.

c file-read

14
推荐指数
2
解决办法
2174
查看次数

如何找到大文本文件中单词的第n次出现(反向)?

这是一个面试问题和对效率的担忧.当存在非常大的文件(以GB为单位)时,就像日志文件一样.我们怎样才能从文件末尾找到第10个出现的'error'或'java'等单词.我只能想到扫描整个文件,然后以相反的顺序找出事件.但我不认为这是正确的做法!(最好用C或Java编码)

我还想知道另一件事.当面试官特别提到它是一个非常大的文件时,我们开始编写代码时应该考虑哪些因素(除了记住扫描是非常昂贵的事情)

c java string algorithm large-files

5
推荐指数
1
解决办法
883
查看次数

是否可以从下往上遍历文件?[C]

如何从下往上逐行遍历文件?例如,这是我从上到下遍历它的代码:

void *readFileTB(char *str1)
{
    int size = 1024;
    char *buffer = malloc(size);
    FILE *fp;
    fp = fopen("testfile.txt", "r");
    while(fgets(buffer, 1024, fp)) //get a line from a file
    {
            printf(buffer);
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

如果文件包含:

line1onetest
line2twotest
line3threetest
Run Code Online (Sandbox Code Playgroud)

如果执行此功能将打印以下内容:

line1onetest
line2twotest
line3threetest
Run Code Online (Sandbox Code Playgroud)

我怎样才能编写一个能够完成上述操作但功能相反的函数,以便输出以下内容?

line3threetest
line2twotest
line1onetest
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

c traversal file

1
推荐指数
1
解决办法
544
查看次数

标签 统计

c ×3

file ×2

algorithm ×1

file-io ×1

file-read ×1

java ×1

large-files ×1

logfiles ×1

python ×1

string ×1

tail ×1

traversal ×1