Форум сайта python.su
0
Через некоторое время после запуска скрипт как будто зависает (мигает курсор и дальше процесс не идет; каждый раз в разном месте). Грешу во всём модуль subprocess (возможно, я его неправильно использую). Применил даже time.sleep(10), чтобы дать время для завершения предыдущей операции, но и это не помогло. В чем может быть причина?
import subprocess import MySQLdb import time ... while row: # данные берутся с БД, всё работает - проверял! cmd = ["wmic", "/node:" + row[0], "/user:" + row[1], "/password:" + row[2], "/output:software_"+ row[0] + "_%date:~-4,4%%date:~-7,2%%date:~-10,2%.csv", "product", "get", "InstallDate,InstallLocation,Name,Vendor,Version", "/format:csv"] subprocess.call(cmd, shell = True) row = cursor.fetchone() print(cmd) time.sleep(10) cursor.close() print ("Done")
Отредактировано Moi5es (Янв. 25, 2016 15:22:42)
Офлайн
253
Moi5esНе грешите. Воспользуйтесь отладчиком и точно определите строку где возникает проблема. Вполне возможно просто в интерпретаторе по очереди выполнять строки из цикла.
Грешу во всём
Офлайн
0
doza_andВ том то и дело, что цикл выполняется, но в определенный момент IDLE делает вид, что выполняет процесс. Я ждал больше часа, но так цикл и не завершился, хотя должен был отработать за минут 10.
Воспользуйтесь отладчиком и точно определите строку где возникает проблема. Вполне возможно просто в интерпретаторе по очереди выполнять строки из цикла.
Отредактировано Moi5es (Янв. 25, 2016 09:30:22)
Офлайн
253
Moi5es
но в определенный момент IDLE делает вид
doza_andВаш один принт ничего не говорит.
и точно определите строку
python -m trace --trace a.py >a
Отредактировано doza_and (Янв. 25, 2016 20:09:03)
Офлайн