欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何用python多次調(diào)用exe文件運行不同的結(jié)果

 更新時間:2023年05月11日 11:29:51   作者:找不到服務(wù)器zhn  
有個C++項目是讀取配置參數(shù)文件并打印對應(yīng)的結(jié)果,后來需要多次修改配置文件并運行,于是想到寫個python腳本執(zhí)行這一過程,今天通過本文給大家分享python多次調(diào)用exe文件運行不同的結(jié)果,感興趣的朋友一起看看吧

摘要: 有個C++項目是讀取配置參數(shù)文件并打印對應(yīng)的結(jié)果,后來需要多次修改配置文件并運行,于是想到寫個python腳本執(zhí)行這一過程。
寫一個測試項目,項目結(jié)構(gòu)如下:

根目錄
main.cpp // C++項目,從file.csv中讀取配置文件并打印對應(yīng)的結(jié)果
main.py // 多次循環(huán),修改配置文件file.csv,運行.exe文件并打印
/build/
 untitled.exe // C++生成的.exe文件
/data/
 file.csv // C++讀取的配置文件

配置文件file.csv如下

da, 4
db, 1.1
dc, 1.2

C++讀取配置文件測試代碼main.cpp如下

#include <iostream>
#include <vector>
#include <fstream>
#include <sstream>
#include <map>
using namespace std;
map<string, double> readKeyValuePairs(const string& fileName) {
    map<string, double> myMap;
    ifstream file(fileName);
    string line;
    while (getline(file, line)) {
        stringstream ss(line);
        string key;
        double value;
        getline(ss, key, ',');
        ss >> value;
        myMap[key] = value;
    }
    return myMap;
}
int main() {
    map<string, double> ans = readKeyValuePairs("../data/file.csv");
    cout << ans.size() << "," << ans["da"]+ans["db"] << ";    " << endl;
}

代碼中注意配置文件與生成的.exe文件的相對位置。其中ans.size()用于判斷是否正確讀到了數(shù)據(jù)。
下面的代碼用于多次修改配置文件,運行.exe文件并打印出.exe文件的運行結(jié)果。

import subprocess
def run_exe(exe_path):
    process = subprocess.Popen(exe_path, stdout=subprocess.PIPE, cwd='build')
    output, error = process.communicate()
    return output.decode('utf-8')
for n in range(5):
    with open('data/file.csv', mode='w') as txtfile:
        print(f'da, {n}\ndb, 1.1\ndc, 1.2', file=txtfile)
    output = run_exe('build/untitled.exe')
    print(output, end='')

其中cwd參數(shù)的詳細(xì)解釋見 Python cwd (1) -知乎,如果不設(shè)置這個參數(shù),.exe文件的運行目錄默認(rèn)是根目錄,也就是main.cpp所在的目錄,需要用這個參數(shù)改成/build/目錄,也就是untitled.exe所在的目錄。
python代碼運行結(jié)果如下

3,1.1;    
3,2.1;    
3,3.1;
3,4.1;
3,5.1;  

下面的代碼是chatGPT生成的python調(diào)用exe文件的原始代碼

import subprocess
def run_exe(exe_path):
    process = subprocess.Popen(exe_path, stdout=subprocess.PIPE)
    output, error = process.communicate()
    return output.decode('utf-8')
exe_path = 'your/exe_file.exe'
output = run_exe(exe_path)
print(output)

到此這篇關(guān)于如何用python多次調(diào)用exe文件運行不同的結(jié)果的文章就介紹到這了,更多相關(guān)python多次調(diào)用exe文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 代碼總結(jié)Python2 和 Python3 字符串的區(qū)別

    代碼總結(jié)Python2 和 Python3 字符串的區(qū)別

    在本篇文章里小編給大家整理的是一篇關(guān)于Python2 和 Python3 字符串的區(qū)別以及實例代碼,需要的朋友們學(xué)習(xí)下。
    2020-01-01
  • python線程中的同步問題及解決方法

    python線程中的同步問題及解決方法

    這篇文章主要介紹了python線程中的同步問題及解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • 如何使用python?wasmtime調(diào)用rust生成的wasm庫

    如何使用python?wasmtime調(diào)用rust生成的wasm庫

    這篇文章主要介紹了如何使用python?wasmtime調(diào)用rust生成的wasm庫,使用python wasmtime來訪問rust庫的便捷方法,步驟極其簡練,可以在生產(chǎn)環(huán)境中使用,需要的朋友可以參考下
    2023-01-01
  • python庫h5py入門詳解

    python庫h5py入門詳解

    本文只是簡單的對h5py庫的基本創(chuàng)建文件,數(shù)據(jù)集和讀取數(shù)據(jù)的方式進行介紹,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Django ValuesQuerySet轉(zhuǎn)json方式

    Django ValuesQuerySet轉(zhuǎn)json方式

    這篇文章主要介紹了Django ValuesQuerySet轉(zhuǎn)json方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • 基于Python下載網(wǎng)絡(luò)圖片方法匯總代碼實例

    基于Python下載網(wǎng)絡(luò)圖片方法匯總代碼實例

    這篇文章主要介紹了基于Python下載網(wǎng)絡(luò)圖片方法匯總代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • python實現(xiàn)多人聊天室

    python實現(xiàn)多人聊天室

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)多人聊天室,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • pycharm 使用心得(一)安裝和首次使用

    pycharm 使用心得(一)安裝和首次使用

    PyCharm 是我用過的python編輯器中,比較順手的一個。而且可以跨平臺,在macos和windows下面都可以用,這點比較好。
    2014-06-06
  • python使用yield壓平嵌套字典的超簡單方法

    python使用yield壓平嵌套字典的超簡單方法

    這篇文章主要給大家介紹了關(guān)于python使用yield壓平嵌套字典的超簡單方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Python處理session的方法整理

    Python處理session的方法整理

    這篇文章主要介紹了Python處理session的方法以及相關(guān)知識點總結(jié),有需要的朋友們學(xué)習(xí)下。
    2019-08-08

最新評論