我需要编写一个简单的python(python3)脚本来存储我的本地IP地址到一个变量中,以便稍后操作它,我阅读了很多内容,但我不明白我在哪里做错了,这里有一大块为了更好地理解代码..如何存储bash命令的输出?
#!/usr/bin/env pyhton3
import os
import subprocess
import sys
import fileinput
localip = subprocess.call(["ifconfig | grep 'inet addr' | cut -d ':' -f2 | grep 'Bcast' | cut -d ' ' -f1"], shell=True)
print localip
...
...
...
现在,当我excecute它,它打印我:
[email protected]:~/Documents $ python change.py
192.168.1.6
0
看来我无法找到我自己解决这一点,任何人都可以告诉我我在哪里做错了并帮助我?谢谢。
正如上文[文档](https://docs.python.org/2/library/subprocess.html#subprocess.call),通过'subprocess.call'返回的值是命令的返回代码,用于指示命令是否成功。在这种情况下,它是零,因为没有错误。 – kindall
不要出去获取有关您的网络接口的信息。我不知道这是否是规范的解决方案,但它花了10秒钟才找到https://pypi.python.org/pypi/netifaces/ –