我正在尝试将此BASH命令的结果存储在变量中:
localip = subprocess.check_output(["ifconfig | grep 'inet addr' | cut -d ':' -f2 | grep 'Bcast' | cut -d ' ' -f1"], shell=True)
但如果我打印本地IP,它总是有一个新行:
pi@raspberrypi:~/Documents $ python change.py
192.168.1.6
pi@raspberrypi:~/Documents $
这当然不是我需要的,所以我尝试过这样的事情:
localip[0].replace("\n", "")
或只是
localip.replace("\n", "")
但仍然没有好....有没有人知道摆脱新创建的线?谢谢!
答案 0 :(得分:1)
您尚未发布实际打印localip
的代码,但一个可能的原因是您不打印str.replace
的返回值。 str.replace
不会改变现有字符串,而是返回一个新副本。
答案 1 :(得分:0)
与此同时,我以这种方式解决了:
localip = subprocess.check_output(["ifconfig | grep 'inet addr' | cut -d ':' -f2 | grep 'Bcast' | cut -d ' ' -f1 | tr -d '\n'"], shell=True)
在最后铺设tr -d '\n'
。
感谢。