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.py
import 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可以獲取執行結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM