out-6ren">
gpt4 book ai didi

python - 比 Python 上的 Grep 更快?

转载 作者:行者123 更新时间:2023-11-28 22:53:39 32 4
gpt4 key购买 nike

因此,我通常在 Bash 脚本中使用的 bash 命令类似于:

$ cat huge2GBfile.txt | grep -w "pattern1/|pattern2/|pattern3" > out.txt

它将输出 huge2GB 文件中找到模式 1、2、3 的行。我想知道这是否可以通过 python 实现。我知道我可以使用

os.system(cmd) 

但我想知道 Python 中是否有类似的东西(我是一个完全的菜鸟),它是否比使用 cat+grep 更快。谢谢!

最初的想法,会不会像

for line in f:
if pattern in line:
out.write(line)

更快?

最佳答案

即使使用比 grep 使用的逻辑更好的算法(正如有人评论说他们已经高度优化,grep 已经 30 岁了!),仍然存在这样一个事实,即它们是用 C 语言编写的实用程序,并为系统。

Python 是一种解释型语言,可能比原生 C 慢几个数量级,所以我认为答案是否定的,python 没有比它更快的东西。

如果你想逐行处理 grep 命令行的输出,一个选项是构建类似于 unix 命令行工具的 python 脚本,这样它就可以从 stdin 读取并写入 stdout,这样你就可以使用类似的东西:

grep pattern file | python myscript.py

How do you read from stdin in Python?

关于python - 比 Python 上的 Grep 更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19202914/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com