我正在使用 os.popen()调用某些参数。当我在终端中调用参数本身时,它可以正常工作,并且得到了预期的返回对象。但是当我使用 os.popen()调用它时,我得到
位于0x7f6ec0d3d1d0的os._wrap_close对象>
代码:
> command = "python -m json.tool \"" + path + video +"-something.json\"| grep \"ext\\\"\"
> result = os.popen(command)
> print(result)
当它应该是同一件事时,我很难获得不同的结果
答案 0 :(得分:0)
此命令打开命令的管道(stdout,带有popen2 / 3/4 stdin,stderr),并返回打开的文件对象而不是命令的stdout。 (python docs)
因此,为了获得命令的结果,您必须阅读可以用result.read()
完成的打开文件。
Here是有关不同popen及其(基本)用法的很好的解释。