Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 14, 2012 10:58:59

minotavr_x86
От:
Зарегистрирован: 2010-05-21
Сообщения: 69
Репутация: +  0  -
Профиль   Отправить e-mail  

Выполнение скрипта при наличии файла в директории

import threading
import time
global FLAG_STOP
FLAG_STOP = False
def thrInput():    
    while FLAG_STOP:
        time.sleep(5)
        print 'Обработка файла'
      
def print1():
    a = 0 
    while not FLAG_STOP:
        a = a + 1
        time.sleep(1)
        print a            
t1 = threading.Thread(target = thrInput)
t1.start()
t2 = threading.Thread(target = print1)
t2.start()
if raw_input('<<<').lower() == "close":
    FLAG_STOP = True
t2.join()
t1.join()
print 'выход'
Выглядит примерно так, но не красиво. Для того что бы на консоли было все хорошо надо применять библиотеку работы с консолью. На память только помню curses, если Linux.



Офлайн

#2 Сен. 14, 2012 12:02:09

Senhion
Зарегистрирован: 2012-08-13
Сообщения: 37
Репутация: +  0  -
Профиль   Отправить e-mail  

Выполнение скрипта при наличии файла в директории

minotavr_x86 Спасибо… у самого как то глаз не лег на то что обработку делать в потоке а raw_input - тупо ждать когда уже поток запущен…

UPD
да - это как то мега некрасиво причем работает даже просто когда запускаешь поток print1 и потом вводишь в консоль на которую он же и выводит: FLAG_STOP = True
Так же коректно и завершается - но это же не есть питон вей…
Выходные поковыряю сам - если не допру, то создам отдельную ветку про ввод инфы с терминала - тем более скрипт планируется к выполнению не только на linux.
Всем спасибо за помощь…

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version