代码中执行命令行-Python与Java版
来源:互联网 发布:通用工会财会软件 编辑:程序博客网 时间:2024/06/08 12:32
这里的命令是指在开始-->运行里输的命令,如:ping www.baidu.com
要运行dos命令,如dir,直接在开始-->运行里执行会报错,此时需要调用cmd来执行dir,完整命令为:cmd /k dir
参数说明:
/k 表示执行完命令后不关闭cmd窗口/c 表示执行完命令后关闭cmd窗口/k或/c后还可以加一个start,表示在新的cmd窗口中执行后面的命令
一、不需要后续输入
以如下命令为例:
echo %path%
这是CMD下输出path环境变量的命令,以下代码都可以在Sublime Text控制台中输出结果:
Python代码:
import subprocessr = subprocess.call(['cmd', '/k', 'echo', '%path%'])
或者:
import oss = os.system("echo %path%")
Process p = Runtime.getRuntime().exec("cmd /k echo %path%");// 数据从进程流向本程序,从本程序的角度,是输入流BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));String buff = null;while((buff = br.readLine()) != null){ System.out.println(buff);}br.close();
二、需要后续输入
以如下命令为例:
adb shelladb helpexit第一行是进入adb shell,第二行是输出帮助信息,第三行是退出shell。这些命令需要你的电脑已经安装Android adb工具,同时连上手机或者启动了Android 虚拟机。
Python代码:
import subprocessp = subprocess.Popen(['adb', 'shell'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)output, err = p.communicate(b'adb help\nexit\n')print(output.decode('utf-8'))
Java代码(略去try catch):
Process process = Runtime.getRuntime().exec("adb shell"); DataOutputStream os = new DataOutputStream(process.getOutputStream()); os.write("adb help\nexit\n".getBytes()); os.flush(); int result = process.waitFor(); StringBuilder successMsg = new StringBuilder(); StringBuilder errorMsg = new StringBuilder(); BufferedReader successResult = new BufferedReader(new InputStreamReader(process.getInputStream())); BufferedReader errorResult = new BufferedReader(new InputStreamReader(process.getErrorStream())); String s; while ((s = successResult.readLine()) != null) { successMsg.append(s); } while ((s = errorResult.readLine()) != null) { errorMsg.append(s); } os.close(); successResult.close(); errorResult.close(); process.destroy();
0 0
- 代码中执行命令行-Python与Java版
- CentOS命令行中执行Java代码的一些操作
- python中执行命令行的方法
- java命令行编译与执行细节备忘
- TestNG在java中执行命令行
- Java中命令行执行四则运算的功能
- Android代码执行命令行
- Python执行命令行
- python 执行命令行命令
- java中代码执行顺序
- 直接命令行中执行PHP代码(PHP CLI模式)
- Python打包EXE执行中屏蔽命令行提示框
- python中执行命令行的方法 (二)交互式
- Python中 命令行参数传递 与 处理
- 命令行编译与运行java代码
- java中从命令行读取参数+代码
- c++ 中执行命令行
- Java执行命令行
- Java详解(三)-字符流和字节流
- BIO_push()详解
- 矩阵论、组合数学基础
- mysql的锁机制总结
- 开源协议
- 代码中执行命令行-Python与Java版
- 索引与优化like查询
- 模拟手机通讯录管理系统
- Chrome神器Vimium快捷键学习记录
- openssl之BIO系列之15---内存(mem)类型BIO
- ubuntu 部署pptp亲测
- 推荐几个Android自定义的进度条(补充)
- GitHub和git简单使用
- Android性能优化之一:ViewStub