One way to make non-blocking wait is to use threading.Event :
import threading
dummy_event = threading.Event()
dummy_event.wait(timeout=1)
set() , , - . , , - join :
import threading
def create_the_file(completion_event):
def Main():
worker = threading.Thread(target=create_the_file)
worker.start()
worker.join()
, , ...
, . , dummy_threading, dummy_event.wait() . join().
, script, subprocess ( , , wait, , , ).
script, PID, os.waitpid(), OSError, ...
- , GIO FileMonitor PyGTK/PyGObject. monitor_directory GIO. .
:
import gio
def directory_changed(monitor, file1, file2, evt_type):
print "Changed:", file1, file2, evt_type
gfile = gio.File(".")
monitor = gfile.monitor_directory(gio.FILE_MONITOR_NONE, None)
monitor.connect("changed", directory_changed)
import glib
ml = glib.MainLoop()
ml.run()