工作中用到一个python脚本,自动化运行某目录下的多个vc工程代码。

编译工程代码的命令如下,直接运行会失败,系统找不到devenv,我们需要添加devenv.exe所在的目录到环境变量中。

os.system('devenv '+ name+  '.sln /project '+ name + '.vcproj /Rebuild "debug|win32" /Out '+ name + '.cmp>nul')

项目组已经有一个自己编写的添加各种临时环境变量的bat脚本,其中也包含vc的环境变量。所以想在python中直接先调用一下现有脚本再执行编译命令,但发现没效果。原因据说是os.system是独立的进程,环境变量的修改对后面的语句不生效。

os.system('call "../../set_vs_env.bat" ')  
os.system('devenv '+ name+  '.sln /project '+ name + '.vcproj /Rebuild "debug|win32" /Out '+ name + '.cmp>nul')

所以只能2个cmd命令放到一个调用中执行,也就是一次执行多个cmd,cmd命令间用&符连接。

cmd = 'call "../../set_vs_env.bat" & ' + 'devenv '+ name+  '.sln /project '+ name + '.vcproj /Rebuild "debug|win32" /Out '+ name + '.cmp>nul'  
os.system(cmd) 

Python中调用设置环境变量的bat的更多相关文章

  1. Django之在Python中调用Django环境

    Django之在Python中调用Django环境 新建一个py文件,在其中写下如下代码: import os if __name__ == '__main__': os.environ.setdef ...

  2. Python IDLE arcpy设置环境变量

    在IDLE中 import arcpy help(arcpy) 得到的路径为: 但是在arcmap中,路径为: 说明IDLE的环境变量设置有问题: 在windows的环境变量中设置环境变量PYTHON ...

  3. Python中的PYTHONPATH环境变量

    PYTHONPATH是Python中一个重要的环境变量,用于在导入模块的时候搜索路径.可以通过如下方式访问: >>> import sys >>> sys.path ...

  4. 在 Ubuntu 系统中有三种设置环境变量 PATH 的方法。(ZT) repost

    来源地址: http://blog.csdn.net/jernymy/article/details/6547671 第一种适用于为单一用户设置PATH.第二种是为全局设置 PATH.第三种方法适合于 ...

  5. 怎样在Ubuntu中设置环境变量

    首先启动终端. 单击屏幕左上角的Ubuntu图标,在弹出的窗口中点击搜索栏,输入"terminal", 稍等片刻,终端就会赫然在目!二话不说,直接点击!     然后打开环境设置文 ...

  6. postman:设置环境变量(参数化 & 关联)

    postman是测试接口的主要工具之一 我们的测试环境主要分为test(测试环境)和pre_production(预生产环境),而他们的api都是一样的,只是ip及端口不一样 所以,我们可以设置环境变 ...

  7. python 程序中设置环境变量

    python 中调用系统命令有三种方法: 1.os.system('command') ,这个方法是直接调用标准C的system() 函数,仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 ...

  8. 在python脚本中设置环境变量,并运行相关应用

    1. 问题 在自动化应用的时候 ,有时候环境变量与运行需要不一致.这时候有两种选择: 改变节点环境变量,使得其和运行需求保持一致: 在自动化脚本中设置环境变量,其范围只在脚本运行环境中有效. 显然,当 ...

  9. Linux中使用export命令设置环境变量

    Linux export 命令 2011-08-31 22:36:39|  分类: 命令总结|举报|字号 订阅     功能说明:设置或显示环境变量. ######################## ...

随机推荐

  1. LeetCode第[3]题(Java):Longest Substring Without Repeating Characters 标签:Linked List

    题目中文:没有重复字符的最长子串 题目难度:Medium 题目内容: Given a string, find the length of the longest substring without ...

  2. javascript练习题·(1)

    1.参数集合是什么? (function(){ return typeof arguments; })(); 的结果是? typeOf只能以字符串的形式返回数据类型 js中包括6种数据类型--Numb ...

  3. 新东方雅思词汇---7.4、cap

    新东方雅思词汇---7.4.cap 一.总结 一句话总结: 抓住 capable 英 ['keɪpəb(ə)l]  美 ['kepəbl]  adj. 能干的,能胜任的:有才华的 词组短语 capab ...

  4. WPF的外观装饰类——Border

    public class Border : System.Windows.Controls.Decorator 说明:在另一个元素的周围绘制边框.背景或同时绘制二者.

  5. 记录下MD5加密遇到的坑

    错误的写法: public static String md5(String plainText) { byte[] secretBytes = null; try { secretBytes = M ...

  6. java中常用的帮助类。加快开发速度

    数据库帮助类 package com.cwnu.uitl; import java.sql.*; /** * 数据库基础操作实现类 * * @author BlackWinter * * @date ...

  7. js实现显示系统时间的表盘

    核心: 1,document.styleSheets 修改css里的keyframes属性值 2,表针角度的计算 最终显示效果: <!DOCTYPE html> <html> ...

  8. I.MX6 网卡能收不能发

    /******************************************************************** * I.MX6 网卡能收不能发 * 说明: * MAC控制器 ...

  9. Hadoop集群中节点角色定义

    Hadoop分别从两个角度将主机划分为两种角色. 最基本的划分原则为Master和Slave,即主人和奴隶: 第一,从HDFS的角度,将主机划分为NameNode和DataNode(在分布式文件系统中 ...

  10. 21天学通C++_Day3_Part2

    0.语句的分行 法1:在第一行末尾添加反斜杠 cout<<"Hello \ World!"<<endl; 法2:将字符串字面量分成两个,编译器注意到两个响铃 ...