Найти - Пользователи
Полная версия: Python. time.sleep(7) не выполняет задержку в 7 секунд.
Начало » Python для новичков » Python. time.sleep(7) не выполняет задержку в 7 секунд.
1
nvildanh
Есть функция.

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.")
Вычищает папку эскизов и после семи секунд ожидания создаёт ее вновь.
Почему не работает задержка? Не успевает папка удалиться, как тут же создается вновь. В чем дело? Консоль ни на что не ругается при попытке запустить файл из терминала.
febos
Насколько я знаю, Popen() открывает сторонний процесс без ожидания его завершения. То есть, в Вашем случае скорее всего 7 секунд упевают пройти пока вызывается первый процесс и удаляется папка. Попробуйте subprocess.check_call() из библиотеки subprocess.
nvildanh
Этот код ВЕСЬ выполняется меньше чем за секунду. 7 секунд, соответственно, не проходят (а не ‘успевают пройти’). Чувство, будто я и не писал time.sleep().
Enchantner
nvildanh
еще попробуйте:
...
proc = Popen("rm -r ~/.thumbnails", shell=True)
proc.wait()
time.sleep(7)
...
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB