python的subprocess.Open 更改子进程的目录执行系统命令

jjkk1598753246 2013-04-26 10:29:11
我要使用命令行运行visual studio 2005进行编译cwd指定子进程的当前目录 可是一直执行不了是什么情况
import subprocess

p = subprocess.Popen("devenv D:/zemr/zemr_3.3.3.0/code/zemr/zemr.sln /rebuild ReleaseU|Win32 /Project zdog",shell=True, cwd = "D:/Microsoft Visual Stdio/Common7/IDE")

retcode = p.wait()
...全文
470 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
乔巴好萌 2013-04-28
  • 打赏
  • 举报
回复
如果不想配置环境变量 你可以查找系统的注册表 检索出denv的安装目录比如 C:/Microsoft Studio/bin 然后用这个目录+denv拼一个全名 最后用这个从命令行启动
乔巴好萌 2013-04-28
  • 打赏
  • 举报
回复
引用 7 楼 jjkk1598753246 的回复:
[quote=引用 6 楼 angel_su 的回复:] 正常没加exe应该也可以,会自动匹配.exe.bat这类格式,估计环境变量pathexe给毁了...
可是我只是想象在cmd窗口一样 进入D:/Microsoft Visual Stdio/Common7/IDE 再执行命令devenv D:/zemr/zemr_3.3.3.0/code/zemr/zemr.sln /rebuild ReleaseU|Win32 /Project zdog 有办法没 求救啊 [/quote] 你这个是没配置环境变量阿 配置过java的环境变量没 跟那个一样 起码保证配置完后 在运行-cmd里输入denv是有反应的才行 在系统配置属性里Path加入denv的路径
jjkk1598753246 2013-04-27
  • 打赏
  • 举报
回复
引用 8 楼 angel_su 的回复:
不是说了用全路径subprocess.Popen("D:/Microsoft Visual Stdio/Common7/IDE/devenv.exe ... cwd参数你可以保留,那么devenc执行时的工作路径就在cwd指定之下...
devenv.exe后面可以直接跟我要运行的devenv D:/zemr/zemr_3.3.3.0/code/zemr/zemr.sln /rebuild ReleaseU|Win32 /Project zdog命令?
angel_su 2013-04-26
  • 打赏
  • 举报
回复
是python报错?还是devenv报错?最好贴出...
angel_su 2013-04-26
  • 打赏
  • 举报
回复
不是说了用全路径subprocess.Popen("D:/Microsoft Visual Stdio/Common7/IDE/devenv.exe ... cwd参数你可以保留,那么devenc执行时的工作路径就在cwd指定之下...
jjkk1598753246 2013-04-26
  • 打赏
  • 举报
回复
引用 6 楼 angel_su 的回复:
正常没加exe应该也可以,会自动匹配.exe.bat这类格式,估计环境变量pathexe给毁了...
可是我只是想象在cmd窗口一样 进入D:/Microsoft Visual Stdio/Common7/IDE 再执行命令devenv D:/zemr/zemr_3.3.3.0/code/zemr/zemr.sln /rebuild ReleaseU|Win32 /Project zdog 有办法没 求救啊
angel_su 2013-04-26
  • 打赏
  • 举报
回复
正常没加exe应该也可以,会自动匹配.exe.bat这类格式,估计环境变量pathexe给毁了...
jjkk1598753246 2013-04-26
  • 打赏
  • 举报
回复
引用 3 楼 angel_su 的回复:
不要直接双击运行,这样什么信息都看不到,先开cmd窗口打命令,懒的话右键菜单edit with idle再F5运行。估计devenv找不着,用全路径名称吧,后面cwd那个不是用来找devenv,而是devenv能运行时才能显出效果的...
我是想进入vs的安装路径 调用vs的编译器devenv进行编译,才用的cwd 我把第一个参数换成devenv.exe就可以打开vs的 是第一个参数只能打开可执行程序吗??
maniachhz 2013-04-26
  • 打赏
  • 举报
回复
引用 3 楼 angel_su 的回复:
不要直接双击运行,这样什么信息都看不到,先开cmd窗口打命令,懒的话右键菜单edit with idle再F5运行。估计devenv找不着,用全路径名称吧,后面cwd那个不是用来找devenv,而是devenv能运行时才能显出效果的...
+1
angel_su 2013-04-26
  • 打赏
  • 举报
回复
不要直接双击运行,这样什么信息都看不到,先开cmd窗口打命令,懒的话右键菜单edit with idle再F5运行。估计devenv找不着,用全路径名称吧,后面cwd那个不是用来找devenv,而是devenv能运行时才能显出效果的...
jjkk1598753246 2013-04-26
  • 打赏
  • 举报
回复
引用 1 楼 angel_su 的回复:
是python报错?还是devenv报错?最好贴出...
没有报错,任务管理器也没有看到在执行,就是闪一下就没了。根本就没有运行

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧