Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 25, 2016 07:38:32

Moi5es
Зарегистрирован: 2014-10-15
Сообщения: 65
Репутация: +  0  -
Профиль   Отправить e-mail  

проблемы с работой subprocess

Через некоторое время после запуска скрипт как будто зависает (мигает курсор и дальше процесс не идет; каждый раз в разном месте). Грешу во всём модуль 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)

Офлайн

#2 Янв. 25, 2016 08:29:41

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

проблемы с работой subprocess

Moi5es
Грешу во всём
Не грешите. Воспользуйтесь отладчиком и точно определите строку где возникает проблема. Вполне возможно просто в интерпретаторе по очереди выполнять строки из цикла.



Офлайн

#3 Янв. 25, 2016 09:08:43

Moi5es
Зарегистрирован: 2014-10-15
Сообщения: 65
Репутация: +  0  -
Профиль   Отправить e-mail  

проблемы с работой subprocess

doza_and
Воспользуйтесь отладчиком и точно определите строку где возникает проблема. Вполне возможно просто в интерпретаторе по очереди выполнять строки из цикла.
В том то и дело, что цикл выполняется, но в определенный момент IDLE делает вид, что выполняет процесс. Я ждал больше часа, но так цикл и не завершился, хотя должен был отработать за минут 10.

Отредактировано Moi5es (Янв. 25, 2016 09:30:22)

Офлайн

#4 Янв. 25, 2016 20:08:31

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

проблемы с работой subprocess

Moi5es
но в определенный момент IDLE делает вид
doza_and
и точно определите строку
Ваш один принт ничего не говорит.

В конце концов если не умеете пользоваться отладчиком сделайте
python -m trace --trace a.py >a
, и посмотрите где оно зависло.



Отредактировано doza_and (Янв. 25, 2016 20:09:03)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version