Код: Выделить всё
for input_path in expected_paths:
while not os.path.exists(input_path):
time.sleep(0.5)
run_analysis(input_path)
Я запускаю это в среде conda на своем ПК, сначала это работает. несколько файлов (обычно 10-30 за раз), а затем, по-видимому, застревает в цикле (у меня есть выходные данные, которые печатаются, когда происходит run_anaанализ, и которые перестают распечатываться; run_anaанализ также создает выходной файл для каждого input_path, который также не создается, когда скрипт зависает.
Ошибок или предупреждений нет, скрипт, кажется, продолжает работать в окне терминала, несмотря на то, что файл в input_path уже создан.
Если я остановлю сценарий и запущу его снова, он выполнит run_anaанализ для всех файлов, которые существуют на данный момент, включая тот, на котором он «застрял», и продолжит работать, как ожидалось. пока не застряну на другом файле через 10–30 файлов.
Когда я останавливаю сценарий, нажимая Ctrl-C или Ctrl-S, трассировка прерывания клавиатуры указывает, что он находился в середине time.sleep(0.5), как и следовало ожидать, если бы она застряла в цикле while.
Я пробовал запустить этот скрипт в Anaconda Powershell и переключиться на cmd. exe для запуска скрипта. Кажется, нет большой разницы. Отмена выбора «Режима быстрого редактирования» и «Режима вставки» в свойствах Anaconda Powershell (на основе решений/объяснений здесь и здесь) также не решает проблему (как и нажатие Ctrl-Q, когда скрипт зависает).Я сильно подозреваю, что проблема связана с ПК, но понятия не имею, с чего начать и что это может быть. Будем очень признательны за любую информацию - спасибо!
Подробнее здесь: https://stackoverflow.com/questions/788 ... ript-pause