调用函数 os.popen() 给出意外的 return 对象
Calling function os.popen() gives unexpected return object
我正在使用 os.popen() 调用一些参数。当我在终端中调用参数本身时,它完美地工作并且我得到了预期的 return 对象。但是当我使用 os.popen() 调用它时,我得到
os._wrap_close object at 0x7f6ec0d3d1d0>
代码:
> command = "python -m json.tool \"" + path + video +"-something.json\"| grep \"ext\\"\"
> result = os.popen(command)
> print(result)
我觉得得到不同的结果很困惑,而实际上应该是一样的
此命令打开一个管道到命令(stdout,带有 popen2/3/4 stdin,stderr)和 returns 一个打开的文件对象而不是命令的 stdout。 (python docs)
因此,为了获得命令的结果,您必须读取打开的文件,这可以通过 result.read()
完成。
Here 很好地解释了不同的 popen 及其(基本)用法。
我正在使用 os.popen() 调用一些参数。当我在终端中调用参数本身时,它完美地工作并且我得到了预期的 return 对象。但是当我使用 os.popen() 调用它时,我得到
os._wrap_close object at 0x7f6ec0d3d1d0>
代码:
> command = "python -m json.tool \"" + path + video +"-something.json\"| grep \"ext\\"\"
> result = os.popen(command)
> print(result)
我觉得得到不同的结果很困惑,而实际上应该是一样的
此命令打开一个管道到命令(stdout,带有 popen2/3/4 stdin,stderr)和 returns 一个打开的文件对象而不是命令的 stdout。 (python docs)
因此,为了获得命令的结果,您必须读取打开的文件,这可以通过 result.read()
完成。
Here 很好地解释了不同的 popen 及其(基本)用法。