【发布时间】:2012-09-17 17:51:18
【问题描述】:
不知道是python的bug还是别的什么。
我有一个 bash 命令来获取 br0 IP 地址。它在 bash shell 中运行良好
$ip -o -4 address show br0 | sed "s/^.*inet *\(.*\)\/[0-9]* brd.*$/\1/g"
$192.168.10.1 #output this
但是一旦我将它与 python 结合起来,它给了我一个奇怪的结果:
>>>import commands as c
>>>c.getstatusoutput('ip -o -4 address show br0 | sed "s/^.*inet *\(.*\)\/[0-9]* brd.*$/\1/g"')
>>>(0, '\x01') #output
我已经用system() 尝试了PHP,它工作正常。我也试过python中的子进程,结果是一样的。
这可能是python中的管道处理问题吗?
我想知道 python 中发生了什么,或者是否还有其他我错过的东西?
谢谢。
【问题讨论】:
标签: python replace sed system-calls