我需要編寫一個簡單的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/ –