相关疑难解决方法(0)

获取python子进程的输出

我想在这里捕获输出.如果,在python提示符下,我运行

p = subprocess.Popen(["/path/to/search_by_hash.par", hash_str], 
                      stdout=subprocess.PIPE)
Run Code Online (Sandbox Code Playgroud)

返回值(列表)打印到stdout,但未捕获

[4460475, 4406612, 4379510]
Run Code Online (Sandbox Code Playgroud)

我试过跟进它

value = p.communicate()[0]
value
Run Code Online (Sandbox Code Playgroud)

..but值是一个空字符串,而不是我期望的整数列表,并且正在打印到stdout

我试验了子进程的Store输出的解决方案.Popen调用字符串但是无法捕获输出.

更新:

stderr似乎也没有产生任何东西......我正在寻找的列表正在被打印出来......只是没有任何运气来捕获它.见下文:

>>> p = subprocess.Popen(["/home/jfry/tools/search_by_hash.par", hash_str], 
                          stdout=subprocess.PIPE)
>>> 
[4460475, 4406612, 4379510]
    value, err  = p.communicate()
>>> value
''
>>> err
Run Code Online (Sandbox Code Playgroud)

谢谢!

python subprocess

7
推荐指数
2
解决办法
1万
查看次数

标签 统计

python ×1

subprocess ×1