2016-03-11 118 views
0

我有一個.exe,它提示用戶在命令行界面輸入幾個數字參數,然後在.txt中生成數據。我想用Python來重複運行帶有不同數字參數的.exe。使用Python的命令行輸入參數運行.exe

在Python,我叫可執行文件:

subprocess.call(["executable.exe"]) 

我怎樣才能運行可執行文件,並指定輸入參數(注:我不是指雜項參數,如-s,-t,等等,但實際的數字參數被送入.exe)?

感謝

編輯:我的.EXE從雙打時,在命令行提示用戶給出一個整數一個.cpp創建。

#include <iostream> 
#include <fstream> 
#include <iomanip> 

using namespace std; 

int main() { 
    int ExampleNumber; 
    cout << "Please enter a number: "; 
    cin >> ExampleNumber; 
    ExampleNumber = ExampleNumber*2; 

    ofstream ExampleFile; 
    ExampleFile.open("ExampleFile.txt"); 
    ExampleFile << ExampleNumber; 
    ExampleFile.close(); 
} 

我試着運行.py輸入'3'作爲例子,但它似乎不工作仍然?

import subprocess 

subprocess.call(["Executable.exe", '3']) 
+0

你應該改變你的代碼。 [這個鏈接](http://stackoverflow.com/questions/9497370/making-exe-file-from-python-that-uses-command-line-arguments)你可以幫忙。 –

+0

這不是我要找的。我不打算用Python創建一個可執行文件,我只是試圖運行一個已經存在的.exe文件,其中運行.exe時在CLI中指定了不同的數字參數。 – Tim

+1

你不想用CLI給出的參數運行你的代碼嗎? –

回答

0

您可以傳遞參數如下

subprocess.call(["executable.exe", '--parametername1', 'value1', 
'--parameter2', 'value2']) 

編輯:我提到這個答案時未給予代碼。我假定程序可以從CLI讀取參數。我的答案只有在executable.exe可以使用來自命令行的輸入參數時纔有效,在這裏不是這種情況。

+0

我試過你在我編輯過的主帖中推薦過的東西,但它似乎沒有工作?我很困惑,'--parametername'和'value1'應該做什麼。 – Tim

+0

在這種情況下不能使用AFIK子流程調用。我的答案只有在executable.exe可以使用來自命令行的輸入參數時纔有效,在這裏不是這種情況。 –