当前位置:   article > 正文

python中3种调用可执行文件.exe的方法_python调用exe

python调用exe

C++程序:

#include <iostream>
#include <string>
using namespace std;
int main() {
    string str = "ten.gnehcnaib.c//:ptth";
    for (int i = str.length() - 1; i >= 0; i--) {
        cout.put(str[i]);  //从最后一个字符开始输出
    }
    cout.put('\n');
    return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

方法一:

os.system() 会保存可执行程序中的打印值和主函数的返回值,且会将执行过程中要打印的内容打印出来

import os  
main = "project1.exe" //.exe文件的路径【例如:"E:\Desktop\C++\Debug\Project1.exe"】
r_v = os.system(main) 
print (r_v )
  • 1
  • 2
  • 3
  • 4

运行结果:

http://c.biancheng.net
0
  • 1
  • 2

方法二:

commands.getstatusoutput() 会保存可执行程序中的打印值和主函数的返回值,但不会将执行过程中要打印的内容打印出来

import subprocess  
import os  
main = "project1.exe"
if os.path.exists(main):  
    rc,out= subprocess.getstatusoutput(main)  
    print (rc)
    print ('*'*10)
    print (out)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

运行结果:

0
**********
http://c.biancheng.net
  • 1
  • 2
  • 3

方法三:

popen() 会保存可执行程序中的打印值,但不会保存主函数的返回值,也不会将执行过程中要打印的内容打印出来

import os
main = "project1.exe"
f = os.popen(main)    
data = f.readlines()    
f.close()    
print (data)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

运行结果:
[‘http://c.biancheng.net\n’]

说明:

另外,上面提到的三种方式,实际上都是在python中执行命令,因此他们不只是用来执行可执行文件,也可以用来执行系统中别的指令。

在原文上的补充【更全面清晰】:

  • 补充了C++实例程序
  • 三种方法的运行结果
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/180699
推荐阅读
相关标签
  

闽ICP备14008679号