Python:使用 subprocess 和 Popen 打印输出

标签 python linux subprocess popen shlex

我有一个Python程序,它会cat一个文件,然后仅当在输出中找到单词“oranges”时才打印输出。我想知道如果在输出中找到“oranges”,我如何才能反转这个并使程序不输出任何内容?

#! /usr/bin/python

import commands, os, string
import sys
import fileinput
import subprocess
from subprocess import Popen, PIPE
import shlex

        cmd = "cat /root/newfile.txt"

        args = shlex.split(cmd)

        p = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
        out, err = p.communicate()
        if out.find("oranges") > -1:
                print out

最佳答案

怎么样:

if not "oranges" in out:
    print out

关于Python:使用 subprocess 和 Popen 打印输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40852287/

相关文章:

python - 从Python脚本上传图片到Django

python - 设置matplotlib表格的行边缘颜色

linux - "RUNNINGAS=`/usr/bin/id -un`"是做什么的?

linux - AWS 是否在 SSH 连接中保存客户端的 IP?

Python 3 : How to use subprocess. 以管理员身份运行()(Windows 10)

python - 当它调用的进程尚未发出换行符时,是否有一种方法可以从 subprocess.Popen 的实例中读取字符?

python - 比较两个字符串并返回最相似的一个

android - 如何从当前时间戳获取 shell 输出。 Linux、Unix

python - 子流程模块工作但不完全工作

python - 如何从 Python 脚本在后台执行 shell 脚本