关于环境变量commands的一点小问题

之前在Ubuntu上开发quagga自动配置程序的时候,代码里有个路径/root/zebra_config/stackconfig/commands,为了导入commands里的模块,我在.bashrc下export PYTHONPATH=$PYTHONPATH:/root/zebra_config/stackconfig,导致了Python查找commands的路径变为了/root/zebra_config/stackconfig/commands

今天写一个监控程序时需要导入Python的commands模块,使用commands.getstatusoutput(),却得到输出AttributeError: 'module' object has no attribute 'getstatusoutput',后来通过
commands.__path__
发现路径变为了
/root/zebra_config/stackconfig/commands
,而不是系统的
/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环境变量就会变回来

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容