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;
}

方法一:

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

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

运行结果:

http://c.biancheng.net
0

方法二:

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)

运行结果:

0
**********
http://c.biancheng.net

方法三:

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

import os
main = "project1.exe"
f = os.popen(main)    
data = f.readlines()    
f.close()    
print (data)

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

说明:

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

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

  • 补充了C++实例程序
  • 三种方法的运行结果
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐