# 是不是Linux系统if platform.is_linux():try:from.inotify import InotifyObserver as Observer
except UnsupportedLibc:from.polling import PollingObserver as Observer
# 判断是不是darwin系统elif platform.is_darwin():# FIXME: catching too broad. Error pronetry:from.fsevents import FSEventsObserver as Observer
except:try:from.kqueue import KqueueObserver as Observer
warnings.warn("Failed to import fsevents. Fall back to kqueue")except:from.polling import PollingObserver as Observer
warnings.warn("Failed to import fsevents and kqueue. Fall back to polling.")# 判断是不是bsd系统elif platform.is_bsd():from.kqueue import KqueueObserver as Observer
# 判断是不是windows系统elif platform.is_windows():# TODO: find a reliable way of checking Windows version and import# polling explicitly for Windows XPtry:from.read_directory_changes import WindowsApiObserver as Observer
except:from.polling import PollingObserver as Observer
warnings.warn("Failed to import read_directory_changes. Fall back to polling.")else:from.polling import PollingObserver as Observer