Пользовательские аргументы командной строки в python

Обнаружена пара проблем с моей программой python. В принципе, я хочу иметь возможность отправлять файлы путей с несколькими изображениями в командную строку (пользователь определяет, сколько изображений, поэтому просто поместить прямые пути к файлам как args, как показано ниже, не делает то, что я хочу). В настоящее время мой код выглядит следующим образом:

os.system("java -jar C:\\Inetpub\\ftproot\\JPivSource\\jpivc.jar image_00000001.jpg image_00000002.jpg image_00000003.jpg") 

Есть еще много изображений, поэтому, конечно, выписать image_00000004, 5, 6 и т. Д., Вряд ли эффективен и полностью зависит от того, будет ли одинаковое количество изображений каждый раз, чего нет. (jpivc.jar – это программа, которая открывается при выполнении этого кода и импортирует изображения и делает вещи – этот бит отлично работает). В идеале код будет выглядеть примерно так:

 for i in range(1, NumberOfImages): os.system("java -jar C:\\Inetpub\\ftproot\\JPivSource\\jpivc.jar image_0000000" + i + ".jpg") 

Кроме того, вы знаете, без открытия jpivc.jar каждый раз, когда я увеличивается, я просто использую приведенное выше, чтобы показать то, что я хочу. К сожалению, это не работает, поскольку он отправляет первую часть в «" в командную строку, если она не дает сообщение об ошибке – мой первый вопрос заключается в том, есть ли способ сделать это, сделать то, что я хочу делать? Я относительно неопытен в python, поэтому, пожалуйста, будьте как можно более осторожны с техническими деталями.

Мой второй вопрос: есть ли способ закрыть либо командную строку, либо jpivc.jar? Я пробовал все предопределенные функции, которые я могу придумать – os.system("tskill cmd.exe") и варианты этого, os.kill() (хотя я использую 2.5, поэтому я не удивлен, t), Popen.kill() и Popen.terminate() , и даже попытался написать свою собственную функцию kill с использованием ctypes . Ничего не работает – пока ни cmd.exe, ни jpivc.jar не будут закрыты вручную, тогда все остальное в моем коде работает отлично. Я думаю, что Python останавливается до закрытия командной строки – что не помогает, когда я хочу закрыть командную строку из Python! Подводить итоги; почему он так останавливается и как я могу это исправить?

При необходимости можно предоставить дополнительные выдержки из моего кода – я использую Python 2.5.4 для Windows XP Professional. Не просите меня предоставить что-либо из jpivc.jar – я даже не буду притворяться, что понимаю малейшую часть Java.

Заранее спасибо,

Дейв

Я считаю, что вы ищете что-то вроде этого

 fileNames="" for i in range(1, NumberOfImages): fileNames += "image_0000000%d.jpg "%i os.system( "java -jar C:\\Inetpub\\ftproot\\JPivSource\\jpivc.jar %s"%fileNames ) 

Переименуйте файл из script.py в script.pyw, чтобы избежать открытия командной строки.

jpivc.jar останется открытым до тех пор, пока вы не закроете его вручную, или программатор не изменит свой код, чтобы завершить работу после завершения обработки всех файлов.

[РЕДАКТИРОВАТЬ]

Я нашел это для начала и убийства процесса

 pidId = os.spawnl(os.P_NOWAIT, "\\windows\\notepad.exe") import win32api win32api.TerminateProcess(pidId ,0)