之前在Ubuntu上開發(fā)quagga自動配置程序的時候际插,代碼里有個路徑/root/zebra_config/stackconfig/commands进统,為了導(dǎo)入commands里的模塊腌乡,我在.bashrc下export PYTHONPATH=$PYTHONPATH:/root/zebra_config/stackconfig价捧,導(dǎo)致了Python查找commands的路徑變?yōu)榱?root/zebra_config/stackconfig/commands
今天寫一個監(jiān)控程序時需要導(dǎo)入Python的commands模塊领炫,使用commands.getstatusoutput(),卻得到輸出AttributeError: 'module' object has no attribute 'getstatusoutput',后來通過
commands.__path__
發(fā)現(xiàn)路徑變?yōu)榱?br>
/root/zebra_config/stackconfig/commands
醉锅,而不是系統(tǒng)的
/usr/lib/python2.7/commands.py
代碼修改為
#!/usr/bin/env python
#coding:utf-8
import imp
imp.load_source('commands','/usr/lib/python2.7/commands.py')
import commands
這樣改代碼里的commands環(huán)境變量就會變回來