python 执行cmd命令 改变目录_Python 改变当前工作目录
今天在写一个Python脚本,要把一个svn project 先checkout出来,然后转到这个工程目录下执行其它的svn命令。
本来我是在Python里执行了一个cd命令,希望能转到目标工程目录下。但是这个cd命令一直执行不成功。后来了解到,其实这个cd命令已经执行 成功了,只是它执行完以后又返回了当前的工作目录(也就是执行python脚本的这个目录),所以最终结果其实跟cd没有执行一样。
如果要达到这个目的,应该在脚本中显式地改变当前工作目录。目前我使用的是 os.chdir(“目标目录”)。注意之前要import os
maven命令执行的时候,需要先到project目录,然后再执行(也可以通过设置-p参数来制定project文件)
如果使用os.chdir(‘newPath’)来修改当前目录的话,会同时修改掉python脚本的执行目录,会出错
如果用os.system执行命令的话,cmd的当前目录就是python脚本的当前目录
可以使用Subprocess来新开一个独立子进程来处理,并设置子进程的当前目录(和主进程python脚本的当前目录隔离开来了),如下,多个命令执行用&隔开(Linux下用;来隔开),调用wait方法来同步执行,不调用的话是异步执行。cmd就是新命令行执行时的当前路径。
cmd_all = "maven clean & maven -Dmaven.test.skip=true jar"
p = subprocess.Popen(cmd_all, shell=True, cwd=cmdCurrentDirectory)
#同步执行
retcode = p.wait()
参考资料:
1、http://blog.csdn.net/flying881114/article/details/6224266
2、http://desert3.iteye.com/blog/1439985
python 执行cmd命令 改变目录_Python 改变当前工作目录相关推荐
- windows python 执行cmd 命令启动浏览器跳转到指定网页
windows python 执行cmd 命令启动浏览器跳转到指定网页 1.系统默认浏览器打开百度 cmd命令 # 有没有http都是可以的 start www.baidu.com python im ...
- python发送cmd命令_用Python 执行cmd命令
我们通常可以使用os模块的命令进行执行cmd 方法一:os.system os.system(执行的命令) # 源码 def system(*args, **kwargs): # real signa ...
- python执行shell命令行_python执行命令行:python中执行shell命令行read结果
+++++++++++++++++++++++++++++ python执行shell命令 1 os.system (只有这个方法是边执行边输出,其他方法是最后一次性输出) 可以返回运行shell命 ...
- python 命令-python执行cmd命令
我们在做手机端自动化的时候有时候可能会遇到需要执行cmd命令完成用例,我们一起学习下,通过python脚本执行cmd命令 cmd是什么 cmd是command的缩写.即命令提示行(CMD),是在OS ...
- python执行cmd subprocess持续_Python subprocess 使用的几个小问题
一般调用 我们使用subprocess.Popen进行如下的子进程调用: import subprocess cmd = ['ls'] process = subprocess.Popen(cmd ...
- python执行cmd命令行异步执行_Python 异步调用命令行工具
当你在自己的 Python 程序中采用了基于事件循环的异步编程方法之后,你就会发现自己不自觉地被其牢牢吸引住,并不是说这一方法多么棒,而是因为你不得不想办法保证程序中的任意环节都不能是阻塞的! 例如当 ...
- python执行cmd命令,并获得返回值
import os res = os.popen("ls").read() print(res) res = os.popen("nvidia-smi -L") ...
- python调用cmd命令释放端口_Python——cmd调用(os.system阻塞处理)(多条命令执行)...
原博文 2017-11-14 15:29 − os.system(返回值为0,1,2)方法 0:成功 1:失败 2:错误 os.system默认阻塞当前程序执行,在cmd命令前加入start可不阻塞当 ...
- python执行cmd并返回是否成功_python脚本执行CMD命令并返回结果的例子
最近写脚本的时想要用python直接在脚本中去执行cmd命令,并且将返回值打印出来供下面调用,所以特意查了下,发现主要有一下几种方式来实现,很简单: 就拿执行adb, adb shell, adb d ...
- python 调用控制台并获取返回结果_python脚本执行CMD命令并返回结果的例子
最近写脚本的时想要用python直接在脚本中去执行cmd命令,并且将返回值打印出来供下面调用,所以特意查了下,发现主要有一下几种方式来实现,很简单: 就拿执行adb, adb shell, adb d ...
最新文章
- java web乱码问题_如何解决JavaWeb乱码问题
- 笑哭了,科研版《后浪》,那些人类积攒了几百年的文献,像是人类专门为你们准备的礼物...
- Windows Azure Platform Introduction (9) 申请Windows Azure 账户
- java如何实现python的urllib.quote(str,safe='/')
- 什么是 XML Web Service
- 前端有用JavaScript技巧
- python015 Python3 函数
- 南阳理工学院计算机acm,南阳理工学院计算机学院ACM队成员获奖情况[荣誉记]
- 海康大华PC客户端集成播放器
- java文字水印模糊_Java添加文字水印和图片水印
- AutoCAD查询插件的开发
- 理解FPS游戏中的矩阵方框透视自瞄
- 【游戏开发引擎】 实验3:Captain Blaster 2D 滚动射击游戏
- 建站神器:使用Hexo+Kaze+Gitee 自建博客
- 你真的理解二分的写法吗 - 二分写法详解
- English考研句子第九句
- OEM,ODM,OBM,JDM概念
- Vim 输入法在normal和insert之间自动切换
- 终于有人把3D打印讲明白了
- 110个常用的jquery特效和插件
热门文章
- Opencv中convertTo函数2
- 西北乱跑娃 --- python繁体字简体字互转第三方库
- 手机Linux安装rtl8187L,fedora 19编译安装rtl8187l驱动问题
- 历年计算机信息系统管理师真题,历年计算机软考信息系统项目管理师真题
- 《实战突击:Java Web项目整合开发》简介及源码
- python工厂模式和单例模式_python之单例模式和工厂模式
- 科研必备:LaTeX论文排版软件的简介,安装与使用教程
- arduino win8 驱动安装
- 塞班S40手机内存出现乱码无法删除的解决办法
- 三星android智能手机usb驱动程序,三星手机安卓USB驱动Samsung USB Driver for Mobile Phones 1.5.51.0...