Watchdog: Python 2.7 و windows 7

تم إنشاؤها على ٥ ديسمبر ٢٠١١  ·  3تعليقات  ·  مصدر: gorakhargosh/watchdog

نظرًا لأنني واجهت بعض المشكلات مع python2.5 ، فقد حاولت أيضًا استخدام python 2.7 والآن أحصل على خطأ مختلف:
(أعتقد أن هناك شيئًا خاطئًا في ctypes و windows dlls ، لكن لا يمكنني معرفة أكثر من ذلك بكثير ...)

Cc C-cException في الموضوع -2:
Traceback (آخر مكالمة أخيرة):
ملف "c: Python27libthreading.py" ، السطر 552 ، في __bootstrap_inner
self.run ()
ملف "c: Python27libsite-packageswatchdog-0.5.4-py2.7.eggwatchdogobserversapi.py" ، السطر 192 ، قيد التشغيل
self.queue_events (self.timeout)
ملف "c: Python27libsite-packageswatchdog-0.5.4-py2.7.eggwatchdogobserversread_directory_changes.py" ، السطر 80 ، في queue_events
self.watch.is_recursive)
ملف "c: Python27libsite-packageswatchdog-0.5.4-py2.7.eggwatchdogobserverswinapi_common.py" ، السطر 130 ، في read_directory_changes
لا أحد)
ملف "c: Python27libsite-packageswatchdog-0.5.4-py2.7.eggwatchdogobserverswinapi.py" ، السطر 103 ، في _errcheck_bool
رفع الأنواع. WinError ()
خطأ Windows: [خطأ 1] وظيفة غير صحيحة.

Incomplete (need more info) windows

التعليق الأكثر فائدة

قمت ببعض الحفر في windows api بمفردي وبالتأكيد تمكنت من تحديد المشكلة.

البحث عن قيم إرجاع ReadDirectoryChangesW وجدت ما يلي:

إذا كان معيد توجيه الشبكة أو نظام الملفات الهدف لا يدعم هذه العملية ، فستفشل الوظيفة مع ERROR_INVALID_FUNCTION.
https://msdn.microsoft.com/en-us/library/windows/desktop/aa365465 (v = مقابل 85) .aspx

لقد كنت أعمل على مشاركة عبر الشبكة.
نسخ الملفات التي أحتاج لمشاهدتها إلى نظام ملفات محلي أصلحها لي.

سأترك هذا هنا في حال وجد أي شخص آخر هذه المشكلة أثناء البحث في Google عن رسالة الخطأ.

ال 3 كومينتر

مرحبا،
أنا آسف لصدم هذه المشكلة التي مضى عليها عامين ، لكنني واجهت نفس المشكلة تمامًا مع Windows 10 و python2.7 و watchdog 0.8.3

يمكن إعادة إنتاجه بواسطة جزء الكود التالي:

import time

from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler

class Handler(FileSystemEventHandler):
    def on_any_event(self, event):
        print "File changed: %s" % event.src_path

if __name__ == '__main__':
    event_handler = Handler()
    observer = Observer()
    observer.schedule(event_handler, '.', recursive=True)
    observer.start()

    try:
        while True:
            time.sleep(1)
    except KeyboardInterrupt:
        observer.stop()
    observer.join()

الاستثناء الناتج يبدو كالتالي:

Exception in thread Thread-2:
Traceback (most recent call last):
  File "c:\python27\Lib\threading.py", line 801, in __bootstrap_inner
    self.run()
  File "C:\Users\IEUser\Envs\xtrude\lib\site-packages\watchdog\observers\api.py", line 146, in run
    self.queue_events(self.timeout)
  File "C:\Users\IEUser\Envs\xtrude\lib\site-packages\watchdog\observers\read_directory_changes.py", line 77, in queue_events
    winapi_events = read_events(self._handle, self.watch.is_recursive)
  File "C:\Users\IEUser\Envs\xtrude\lib\site-packages\watchdog\observers\winapi.py", line 347, in read_events
    buf, nbytes = read_directory_changes(handle, recursive)
  File "C:\Users\IEUser\Envs\xtrude\lib\site-packages\watchdog\observers\winapi.py", line 307, in read_directory_changes
    raise e
WindowsError: [Error 1] Incorrect function.

من فضلك قل لي إذا كنت بحاجة إلى مزيد من المعلومات.

قمت ببعض الحفر في windows api بمفردي وبالتأكيد تمكنت من تحديد المشكلة.

البحث عن قيم إرجاع ReadDirectoryChangesW وجدت ما يلي:

إذا كان معيد توجيه الشبكة أو نظام الملفات الهدف لا يدعم هذه العملية ، فستفشل الوظيفة مع ERROR_INVALID_FUNCTION.
https://msdn.microsoft.com/en-us/library/windows/desktop/aa365465 (v = مقابل 85) .aspx

لقد كنت أعمل على مشاركة عبر الشبكة.
نسخ الملفات التي أحتاج لمشاهدتها إلى نظام ملفات محلي أصلحها لي.

سأترك هذا هنا في حال وجد أي شخص آخر هذه المشكلة أثناء البحث في Google عن رسالة الخطأ.

هذا ساعدني اليوم فقط ربما يجب أن نرفع خطأ مخصص برسالة أكثر تفصيلاً قليلاً عن سبب حدوث ذلك (أو ربما مجرد رابط لهذه المشكلة)

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات