python执行cmd命令
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=0; for(int i=0;i<=100000000;i++){ sum+=i; } cout << sum <<endl; return sum; } int main(){ print(); return 0; }
my_numba.pyimport os from numba import jit import time @jit def add(x): he=0 i=0 # for i in range(x): # he+=i while True: he+=i i+=1 if i == x: break return int(he) start=time.time() res=add(100000000) 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文件结果:
4999999950000000 <class ‘int‘> 0.1453843116760254 987459712 0 0 987459712
注意:os.system无法获取执行结果,os.popen可以获取执行结果
相关推荐
Morelia 2020-11-03
猛禽的编程艺术 2020-02-02
love0u 2020-08-16
xiaouncle 2020-07-31
踩风火轮的乌龟 2020-07-26
THEEYE 2020-06-25
DAV数据库 2020-06-17
lightlanguage 2020-06-13
kuoying 2020-06-07
地下库 2020-05-29
HappyHeng 2020-05-28
lysanderK 2020-05-26
Caleb0 2020-05-08
boredbird 2020-05-06
<add key="RedisPath" value="127.0.0.1:6379"/> todo:这里配置自己redis的ip地址和端口号。//ReadServerList:可读的Redis链接地
天空一样的蔚蓝 2020-05-05
cyydjt 2020-05-04