os.system

os.system用来执行cmd指令,在cmd输出的内容会直接在控制台输出,返回结果为0表示执行成功

注意:os.system是简单粗暴的执行cmd指令,如果想获取在cmd输出的内容,是没办法获到的

os.popen

如果想获取控制台输出的内容,那就用os.popen的方法了,popen返回的是一个file对象,跟open打开文件一样操作了,r是以读的方式打开

注意:os.popen() 方法用于从一个命令打开一个管道。在Unix,Windows中有效

如在python中调用c++程序并获取其结果:

my.cpp
#include<iostream>
using namespace std;
int print(){
int sum=;
for(int i=;i<=;i++){
sum+=i;
}
cout << sum <<endl;
return sum;
}
int main(){
print();
return ;
}
my_numba.py
import os
from numba import jit
import time
@jit
def add(x):
he=
i=
# for i in range(x):
# he+=i
while True:
he+=i
i+=
if i == x:
break
return int(he)
start=time.time()
res=add()
print(res,type(res))
end=time.time()
print(end-start) a=os.system("g++ my.cpp")
A=os.system("a.exe")
s=os.popen("g++ my.cpp")
S=os.popen("a.exe","r")
print(a,A)
print(s.read(),S.read())

执行.py文件结果:

 <class 'int'>
0.1453843116760254

注意:os.system无法获取执行结果,os.popen可以获取执行结果

最新文章

  1. bootstrap之google fonts
  2. php高版本不再使用mysql_connect()来连接数据库
  3. paip.python连接mysql最佳实践o4
  4. python 调用内部类的两种方法
  5. 关于sqlmap无法打开的问题解决办法
  6. 转:Bitbucket使用方法
  7. 挑战Python-20160826
  8. web api 跨域请求,ajax跨域调用webapi
  9. SICP 习题 (1.8) 解题总结
  10. POJ 1734.Sightseeing trip (Floyd 最小环)
  11. Jenkins api java 调用
  12. localhost和127.0.0.1区别
  13. 可执行程序的入口点在那里?(强化概念:程序真正的入口是mainCRTstartup)
  14. 淘淘商城_day10_课堂笔记
  15. 走进 Redis 的世界
  16. JSTL与EL的区别
  17. 一个Android上的以滑动揭示的方式显示并切换图片的View
  18. 转 MYSQL InnoDB Record, Gap, and Next-Key Locks
  19. C++11 新特性之operator &quot;&quot; xxx
  20. java往MongDB导入大量数据

热门文章

  1. ES-映射和分析
  2. JS基础语法---基本包装类型
  3. [转]VB.NET DataTable Select Function
  4. Flutter速记
  5. cookie、localStorage 和 sessionStorage 的使用以及区别
  6. mysql分组报错Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column
  7. Java之DateFormat类
  8. IM开发基础知识补课(七):主流移动端账号登录方式的原理及设计思路
  9. ThinkPHP调用其他控制器的方法,助手函数action()
  10. javascript ES6 新特性之 class