2015-07-29 3 views
-2

Так у меня есть программа питона, которая выглядит примерно так:выполнить программу питона в цикле через окно командной строки

import blah blah balh 

def main(): 
    blah blah blah 
    blah blah blah 

if __name__ == "__main__": 
    main() 

Программа принимает 2 аргумент через затмение.

Но теперь я хотел бы запустить эту программу в командной строке управления окном в цикле и динамически изменить 2 аргумента.

Я хотел бы сделать что-то вроде этого:

arg1 = [a,b,c,d] 
arg2 = [a,b,c,d] 

for idx in range(0, len(mtds)): 
    #pass in args to programme 
    programme(mtds[idx], mdd[idx]) 

Возможно ли это?

Извинения заранее, я совершенно не осведомлен об этом.

ответ

2

Вот как петля в CMD:

for /l %x in (1, 1, 100) do (
    echo %x Prints the current iteration 
    python myPythonscript.py input1 input2 
) 

начинается на 1, шаги 1 и заканчивается на 100.

+0

Постараюсь, что теперь ... –

+0

я не должен использовать строку «eclipse.exe» где-то в этом коде? o ipy64? жаль, что я совершенно не осведомлен на этом фронте. –

+0

Нет, не совсем. Это не затмение, которое выполняет ваш скрипт, а скорее интерпретатор python, так же, как eclipse запускает компилятор cygwin для вас при кодировании C/C++. «python myPythonScript.py input1 input2» запустил бы скрипт «myPythonScript.py» с данными переменными input1 и input2. Например. вы могли бы предоставить в качестве входных данных массивы или строки. – Stiffo

1

Если вы хотите, чтобы петля main() функции вашей программки для определенного количества времени с 2-мя аргументами, то вы можете добавить несколько строк:

import sys 
first_arg = sys.argv[1] 
second_arg = sys.argv[2] 
times_to_loop = sys.argv[3] 
import blah blah balh 

def main(): 
    blah blah blah 
    blah blah blah 

for i in range(int(times_to_loop)): 
    main(first_argv, second_argv) 

и запустить программка из cmd в python programm.py 1 2 10.

Это будет работать ваша программа 10 раз 1 в качестве первого аргумента и 2 как второй

+0

Это было первое, что я сделал, но я программный файл, чтобы оставаться полностью fixed.no новый код или редактирования. –