Python OS和Grep的子过程

发布于 2025-02-10 19:59:06 字数 415 浏览 2 评论 0原文

我正在尝试执行:GREP -A5000 -M1 -E'DOG 123 4335'AIMATER.TXT在Python脚本中。

输入文件:

cat 13123 23424 
deer 2131 213132
bear 2313 21313
dog 123 4335
cat 13123 23424 
deer 2131 213132
bear 2313 21313

输出:

cat 13123 23424 
deer 2131 213132
bear 2313 21313

我在unix中尝试了此命令,它可以正常工作。但是,它没有使用Python OS.System或子过程执行。请给我任何一个解决方案。

I'm trying to execute: grep -A5000 -m1 -e 'dog 123 4335' animals.txt in python script.

Input file:

cat 13123 23424 
deer 2131 213132
bear 2313 21313
dog 123 4335
cat 13123 23424 
deer 2131 213132
bear 2313 21313

Output:

cat 13123 23424 
deer 2131 213132
bear 2313 21313

I tried this command in Unix it works fine. But it's not getting executed using python the OS.system or the subprocess. Please give me the solution for either one.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱情眠于流年 2025-02-17 19:59:06

使用子过程

import subprocess

CMD = "grep -A5000 -m1 -e 'dog 123 4335' animals.txt"
p = subprocess.run(CMD, shell=True, stdout=subprocess.PIPE)
print(p.stdout.decode())

输出:

dog 123 4335
cat 13123 23424 
deer 2131 213132
bear 2313 21313

Use subprocess:

import subprocess

CMD = "grep -A5000 -m1 -e 'dog 123 4335' animals.txt"
p = subprocess.run(CMD, shell=True, stdout=subprocess.PIPE)
print(p.stdout.decode())

Output:

dog 123 4335
cat 13123 23424 
deer 2131 213132
bear 2313 21313
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文