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()
参考:
subprocess — Subprocess management
Python: Is it possible to change the Windows command line shell current directory without changing the actual current directory?
分享到:
相关推荐
在用pyinstaller打包后不想要后面的终端命令框,但是打包时加了-w或者–noconsole命令后会导致cmd程序不能运行从而出错。这个时候用subprocess可以解决该类问题。...以上这篇python隐藏终端执行cmd命令的方法就
使用子进程处理一个大的日志文件,并对文件进行分析查询,需要等待子进程执行的输出结果,进行下一步处理。 出问题的代码 # 启用子进程执行外部shell命令 def __subprocess(self,cmd): try: # 执行外部shell命令...
python 打印信息重定向 GUI界面 ,PyQt5实时显示调用外部程序的实时输出显示,subprocess.Popen stdout输出重定向,备注详细!
本文实例讲述了Python中subprocess模块用法。分享给大家供大家参考。具体如下: 执行命令: >>> subprocess.call([ls, -l]) 0 >>> subprocess.call(exit 1, shell=True) 1 测试调用系统中cmd命令,显示命令执行的...
python写的GTK程序,会有这样一个怪现象,本来在cmd下用 python xxx.py 启动,还好好的,但是用py2exe编译以后,再用subprocess调用命令行程序的时候,就发现一个黑乎乎的cmd窗口跳出来了,特别难看,要消除它其实也...
使用py时可能需要连续运行多条shell 命令 1. # coding: UTF-8 import sys reload(sys) sys.setdefaultencoding('utf8') import subprocess import os import commands ...subprocess.call(cmd,shell=True)
subprocess.getoutput(cmd)和os.system(cmd)也能打开程序 但是不是异步的,外部程序不关闭,程序不会往下执行。 以上这篇python3 打开外部程序及关闭的示例就是小编分享给大家的全部内容了,希望能给大家一...
本文实例讲述了python脚本内运行linux命令的方法。分享给大家供大家参考。具体实现方法如下: #/usr/bin/env python import subprocess class RunCmd(object): def cmd_run(self, cmd): self.cmd = cmd ...
subprocess.Popen('C:\windows\system32\cmd.exe') sleep(1) a=65;b=66;c=67;d=68;e=69;f=70;g=71;h=72;i=73;j=74;k=75 l=76;m=77;n=78;o=79;p=80;q=81;r=82;s=83;t=84;u=85;v=86 w=87;x=88;y=89;z=90;i=97;ii
最近在改造一些打包的逻辑,原来在 Windows 下是基于批处理制作的,由于批处理用起来不是很方便,一些实时的计算基本无法胜任,所以转向 Python3。但在以前脚本的基础上很多是需要调用系统命令的比如 VS 编译一个...
python 以下是个人学习 python 研究判断ip连通性方法的集合。 缺点可能有办法解决,如有错误,欢迎矫正。 方法一 import os return1=os.system('ping -n 2 -w 1 172.21.1.183') print return1 缺点:会弹出...
其实 selenium启动窗口的时候就是 使用了subprocess.Popen 启动的驱动程序的,只要在启动的时候加上启动不显示窗口的参数即可。 下面魔改开始O(∩_∩)O哈哈~ 修改代码 位于 D:\Python35\Lib\site-packages\selenium\...
Proclib 是围绕标准库 subprocess 模块的高级包装器/抽象,用 Python 编写,具有适当的管道支持,旨在直接从 Python 简化 Unix 实用程序的使用,并帮助开发人员专注于命令而不是调用命令。 概述 proclib.api.spawn...
整理文件将文件放在同一文件夹中解压缩vnev.zip 安装python3 运行以下命令Windows: 打开cmd.exe,键入“ cd'path'”,然后键入“ python3 main.py” Linux: 转到文件夹右键单击并打开终端,然后键入“ python3 ...
一、使用python内置commands模块执行shell commands对Python的os.popen()进行了封装,使用SHELL命令字符串作为其参数,返回命令的结果数据以及命令执行的状态; 该命令目前已经废弃,被subprocess所替代; # coding...
系统环境centos7 python2.7 ...import subprocess #scp file to remote node. def scpFileToRemoteNode(user,ip,password,localsource,remotedest,port=22): SCP_CMD_BASE = r expect -c set timeout 30
windows7下python3.4.0编译运行通过。由于采用了cmd调用,所以与Linux不兼容,无法在Linux下运行。 游戏就是井字棋,小键盘上的数字位置对应棋盘位置。 #本游戏python3.4.0下编写调试,只能在windows下运行。 import...
process = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) result_f = process.stdout error_f = process.stderr errors = error_f.read() if errors: pass result_str...
最近发现一个问题,一个小伙儿写的console程序不够健壮,监听SOCKET的时候容易崩,造成程序的整体奔溃,无奈他没有找到问题的解决办法,一直解决不了,可是这又是一个监控程序,还是... 系统基于windows平台。 想起
使用前需要from subprocess import Popen, PIPE。但是Popen函数有一个缺陷,就是它是一个阻塞的方法。如果运行cmd时产生的内容非常多,函数非常容易阻塞住。解决办法是不使用wait()方法,但是也不能获得执行的返回值...