GhostLWB 2019-12-20
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可以获取执行结果
<add key="RedisPath" value="127.0.0.1:6379"/> todo:这里配置自己redis的ip地址和端口号。//ReadServerList:可读的Redis链接地