首先以ant为例说明: 设置环境变量 首先要设ANT_HOME,其次要设path(只设path不设ANT_HOME,ant会报错,所以ANT_HOME必须设)。
os.environ['ANT_HOME'] = os.path.join(root_path,'tools','apache-ant-1.8.1')
os.environ['path'] = os.path.join(root_path,'tools','apache-ant-1.8.1','bin') 调用格式 output = os.popen(r'ant init').read()
print(output)
这里要注意的是 不能用 sys.path.append(ant_path)代替 os.environ['path']=...这一句,因为sys.path中虽然有ant的路径,但使用os.popen(...)时python只在系统的path里找可执行程序名,不会去sys.path里找(sys.path仅用于python找包,见博文“python添加新包的方法”),如果path中指定的ant路径不存在,python不会继续找sys.path,而是直接给出一个空结果(不会返回“程序名不存在”这样的提示信息,因为python直接调用操作系统底层的C API,而提示信息是cmd.exe加上的)。