2016-03-11 6 views
0

У меня есть .exe, который запрашивает пользователя для ввода в интерфейсе командной строки для нескольких числовых параметров, а затем генерирует данные в .txt. Я хотел бы использовать Python для многократного запуска .exe с различными численными параметрами.Запустите .exe с входными аргументами командной строки с Python

В Python, я назвал исполняемым:

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

Как я могу запустить исполняемый файл и указать входные параметры (примечание: я не имею в виду разные параметры, такие как -s, -t, и т. д., но фактические числовые параметры, которые подаются в .exe)?

Благодаря

EDIT: Мой .exe был создан из .cpp, который удваивает число заданного пользователя при запросе на CLI.

#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 с различными численными параметрами, которые указаны в CLI при запуске .exe. – Tim

+1

Разве вы не хотите запускать свой код с параметрами, указанными в CLI? –

ответ

0

Вы можете передать аргументы следующим

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

Edit: Я упомянул этот ответ, если код не был дан. Я предположил, что программа может считывать параметры из CLI. Мой ответ действителен только в том случае, если executable.exe может использовать входные аргументы из командной строки, что здесь не так.

+0

Я пробовал то, что вы рекомендовали в моем отредактированном главном сообщении, но он, похоже, не работает? Я смущен тем, что должно делать «--parametername» и «value1». – Tim

+0

В этом случае нельзя использовать вызов подпроцесса AFIK. Мой ответ действителен только в том случае, если executable.exe может использовать входные аргументы из командной строки, что здесь не так. –

Смежные вопросы