如何使用管道操作符和多个参数调用python“subprocess”

2024-07-04 17:23:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Python,希望运行“editUtility”,如下所示

echo "Some data" | /opt/editUtility --append="configuration" --user=userid 1483485

其中1483485是一些随机数,也作为参数传递

我所做的是通过Python“subprocess”调用“editUtility”,并传递参数,如下所示

proc = subprocess.Popen(['/opt/editUtility', '--append=configuration'],stdout=subprocess.PIPE)
            lsOutput=""
            while True:
              line = proc.stdout.readline()
              lsOutput += line.decode()
              if not line:
                break
            print(lsOutput)

我的问题是:如何传递上面提到的所有参数,以及如何将“echo”some data与管道符号配合到子流程调用中


Tags: echodata参数stdoutlinesomeprocconfiguration
1条回答
网友
1楼 · 发布于 2024-07-04 17:23:58

因此,如果您只想输入一个字符串,然后读取进程的输出,直到可以使用end^{}

cmd = [
    '/opt/editUtility',
    ' append=configuration',
    ' user=userid',
    '1483485'
]

proc = subprocess.Popen(
    cmd,
    stdin=subprocess.PIPE,
    stdout=subprocess.PIPE,
    stderr=subprocess.PIPE
)

(stdoutData, stderrData) = proc.communicate('Some data')

相关问题 更多 >

    热门问题