Странные случаи при вызове скрипта python из командного файла - PullRequest
0 голосов
/ 14 апреля 2020

Я пишу сценарий python для пост-обработки данных из инструмента измерения на моей работе. Когда измерение завершено, программа измерения имеет возможность поставить в очередь внешнюю программу. Поэтому я вызываю командный файл, который затем передает пару аргументов скрипту python, который выполняет большую часть работы. Причина, по которой я не вызываю скрипт python непосредственно из измерительной программы, заключается в том, что вам нужно передать ему путь к исполняемому файлу.

Когда я сам запускаю скрипт python, он работает нормально , Но когда я использую командную строку для вызова командного файла, который затем вызывает скрипт python, он действует по-другому.

Например, у меня есть несколько попыток, кроме пунктов, чтобы поймать любые ошибки. В предложениях исключений я открываю файл журнала и пишу описание ошибки. Я начал с вершины программы и прошел путь отладки. Когда я закомментировал все, кроме первой попытки, кроме предложения, и установил параметры таким образом, чтобы он выдавал ошибку, которая была бы обнаружена первым предложением, кроме предложения (таким образом, запись в файл журнала), программа работала так же при непосредственном запуске из spyder или командной строки. Но затем, когда я раскомментировал первую и вторую попытку, кроме предложений, он работал нормально, когда запускался прямо из spyder, но ничего не происходило, когда я ставил его в очередь из командной строки. Ошибок компиляции не было, поэтому я не понимаю, почему он по крайней мере не попадет в первый, кроме предложения, и запишет эту ошибку в текстовый файл (в каждом условии, кроме, я открываю и закрываю файл, поэтому программа никогда не завершается с открытым файлом).

Я также заметил, что я импортировал несколько библиотек, которые я не использовал - в spyder это просто выдаст мне предупреждение о том номере строки, указывающем, что библиотека не использовалась, но все равно позволяла мне запускать код без ошибок. Но если я оставлю оператор импорта для неиспользуемой библиотеки активным, не комментируя его, постановка в очередь пакетного файла, который вызывает сценарий python, не приведет к выводу.

Кто-нибудь когда-нибудь сталкивался с чем-то странным, как это раньше?

...