Python 脚本,用于获取以特殊字符开头的行数,而无需读取整个文件

Python script to get line numbers of lines starting with a special character without reading the whole file

提问人:sodiumnitrate 提问时间:6/16/2023 更新时间:6/16/2023 访问量:47

问:

我有一个大文件,我想获取以字符开头的行的行号。有没有办法在不逐行浏览文件的情况下做到这一点?>

python 文件-io

评论

0赞 DeepSpace 6/16/2023
您的意思是“同时读取整个文件”,还是根本不读取整个文件”?如果是后者,答案显然是否定的。
0赞 DeepSpace 6/16/2023
您只在寻找 Python 答案吗?如果您使用的是 Linux,那么这可能可以使用 shell 命令来实现,并且很可能更快。
0赞 sodiumnitrate 6/16/2023
@DeepSpace是的,这就是我的想法。我必须一行一行地走。我不知道我是否先用 grep 获取行号,然后使用搜索功能会更快。但最终我需要从 python 方面做所有事情。甚至通过 python 运行 shell 命令,如果这样更快的话。
1赞 DeepSpace 6/16/2023
我们在这里谈论的文件有多大?您是否尝试过对朴素的解决方案进行基准测试?for n, line in enumerate(file, 1): if line.startswith('>'): line_nums.append(n)
0赞 sodiumnitrate 6/16/2023
目前@DeepSpace~5G。这不会花很长时间,所以没关系,但出于好奇,我问了更多。我想如果我有更大的文件,我可以或应该使用像 spark 这样的东西。

答: 暂无答案