Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 19, 2011 19:16:47

nvildanh
От:
Зарегистрирован: 2011-08-19
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Python. time.sleep(7) не выполняет задержку в 7 секунд.

Есть функция.

import time

def rem_thumbnails():
Popen("rm -r ~/.thumbnails", shell=True)
window.txt_statuser.setText("Removing...")
time.sleep(7)
Popen("mkdir ~/.thumbnails", shell=True)
window.txt_statuser.setText("The thumbnails are empty now.")
Вычищает папку эскизов и после семи секунд ожидания создаёт ее вновь.
Почему не работает задержка? Не успевает папка удалиться, как тут же создается вновь. В чем дело? Консоль ни на что не ругается при попытке запустить файл из терминала.



Офлайн

#2 Авг. 19, 2011 20:10:49

febos
От:
Зарегистрирован: 2011-07-31
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Python. time.sleep(7) не выполняет задержку в 7 секунд.

Насколько я знаю, Popen() открывает сторонний процесс без ожидания его завершения. То есть, в Вашем случае скорее всего 7 секунд упевают пройти пока вызывается первый процесс и удаляется папка. Попробуйте subprocess.check_call() из библиотеки subprocess.



Офлайн

#3 Авг. 19, 2011 22:31:22

nvildanh
От:
Зарегистрирован: 2011-08-19
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Python. time.sleep(7) не выполняет задержку в 7 секунд.

Этот код ВЕСЬ выполняется меньше чем за секунду. 7 секунд, соответственно, не проходят (а не ‘успевают пройти’). Чувство, будто я и не писал time.sleep().



Офлайн

#4 Авг. 19, 2011 23:31:38

Enchantner
От:
Зарегистрирован: 2009-02-11
Сообщения: 442
Репутация: +  0  -
Профиль   Отправить e-mail  

Python. time.sleep(7) не выполняет задержку в 7 секунд.

nvildanh
еще попробуйте:

...
proc = Popen("rm -r ~/.thumbnails", shell=True)
proc.wait()
time.sleep(7)
...



Отредактировано (Авг. 19, 2011 23:33:41)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version