2009-02-28 6 views
49

파이썬 패키지를 모니터링하는 크로스 플랫폼 파일을 찾고 있는데? pywin32를 사용하는 윈도우에서 파일을 모니터링하는 것이 가능하다는 것을 알고 있으며, Linux/Unix에서 작동하는 패키지가 있지만 크로스 플랫폼에 대해 알고있는 사람이 있습니까?파일/디렉토리의 내용을 모니터링 하시겠습니까?

+1

팀 골든 폴링 디렉토리의 매우 간단한 크로스 플랫폼 방식을 가지고 OS X를 함께 사용 os.listdir 여기 : http://timgolden.me.uk/python/win32_how_do_i/watch_directory_for_changes.html – bernie

+2

"모니터"란 무엇입니까? 무엇을하려고하는지에 대한 힌트를 제공해주십시오. –

답변

29

유닉스/리눅스 기반 시스템의 경우 File Alteration Monitor Python bindings에서 libfam까지 사용해야합니다.

Windows 기반 시스템의 경우 Win32 API FindFirstChangeNotification 및 관련 기능을 사용해야합니다.

크로스 플랫폼 방법에 관해서는, 나는 좋은 크로스 플랫폼 방법에 대해 몰라요. OS가 무엇인지 감지 한 후 위의 두 가지 방법 중 하나를 사용하는 OS에서 작동하는 모듈을 직접 제작하는 것이 가장 좋습니다.

+1

예를 들어 W32 API를 사용하는 방법을 설명해 주시겠습니까? 내가 이해하지 못하기 때문에 ... – wishi

2

문제에 대해 이야기하는이 링크가 있습니다. 실제로 솔루션/라이브러리를 제공하지는 않지만 도움이 될 것입니다. http://www.stepthreeprofit.com/2008/06/cross-platform-monitoring-of-filesystem.html

크로스 플랫폼이 아직 존재하지 않는다고 생각합니다. 따라서 자신 만의 롤을 만들 수 있습니다.

저는이 분야에서 경험이 없으므로 잘 모르겠습니다. 이게 도움이 되길 바란다. 아담 Bernier은 코멘트에서 나에게 지적

참고 내가 그렇군요
, 집없는 아이는 Cygwin에서 볼 수 있습니다. Cygwin에서 다른 옵션을 연구하고 싶을 수 있습니다 (존재하는 경우).

+0

Linux의 Gamin에 대한 좋은 의견으로 보입니다. FWIW, Gamin은 cygwin 패키지에 나열되어 있습니다. http://cygwin.com/packages/ – bernie

+0

Ah! cygwin! 나는 그런 생각을하지 않았다. 나는 교정했다. – batbrat

0

Linux에서 가장 쉬운 방법은 inotifywait를 사용하는 것입니다 (커널이 최신 버전이라면). 특별한 바인딩을 필요로하지 않고, 원하는 방식으로 표준 출력에 출력 라인을 인쇄하도록 inotifywait를 사용자 정의 할 수 있습니다. 좋은 예를 보시려면 this question을보십시오.

+0

그는 특히 크로스 플랫폼에 대해 언급했습니다.inotifywait은 리눅스 전용입니다 –

81

나는 파이썬이 프로그램에서 가능한 한 이식 가능하게 파일 시스템 이벤트를 모니터하는 데 도움이되는 MIT 라이선스 라이브러리에서 작업하고 있습니다. 철저히 다름에 차이점이 있습니다. 순간 높은 알파 버전 :

여기를 체크 아웃 : http://github.com/gorakhargosh/watchdog/

이 패치 및 기여를 환영합니다.

희망이 있습니다. =) 건배. 또한

+0

고마워, 나는 크로스 플랫폼 솔루션을 찾고 있었고 워치 독이 정말 도움이되었다! – mtrovo

+0

python3은 언제 사용할 수 있습니까? – avendael

+3

@avendael - 자, 분명히. 이 시점에서 py3k를 지원합니다. –

4

이 옵션을 체크 아웃 :

http://pypi.python.org/pypi/watchdog

는 Windows에서 크로스 플랫폼 응용 프로그램 및

+3

게시자가 워치 독을 게시했기 때문일 수 있습니다. 1 년 전의 답변에 대해서는이 답변에 많은 부분이 없습니까? 아마도 downvote의 가치는 없지만 upvote의 가치는별로 없습니다. – fencepost

+1

나는 그가 그것을 사용하고 괜찮다고 말했기 때문에 그것을 좋아한다. – droope

+0

나는 왜 대답이 내려 졌는지 결코 알지 못한다. 워치 독 사용법은 다음과 같습니다. http://pythonhosted.org/watchdog/quickstart.html – swdev

관련 문제