2011-01-04 5 views
0

해당 파일에 대한 읽기/쓰기 작업을 수행 할 때마다 파일을 잠그고 싶습니다. 파일을 공개하지 않으면 다른 프로그램이나 기능으로 파일에 액세스 할 수 없습니다. 어떻게 이것을 파이썬에서합니까?파이썬에서 파일 잠금?

답변

1

이 작업을 시도 할 수 있습니다 :

http://docs.python.org/library/fcntl.html#fcntl.flock

나이 :

http://docs.python.org/library/fcntl.html#fcntl.lockf

는 파일 - 류의 객체로부터 파일 기술자를 얻으려면, 당신은 단지 fileno 메소드를 호출 할 필요가있다.

+0

주의하십시오. 깊은 생각이 없다면 이러한 저수준 함수의 사용이 불완전하기 때문에 더 높은 수준의 잘 디버깅 된 패키지를 사용하는 것이 좋습니다. 미묘한 경쟁 상황의 예를 들어 토마스 게 틀러 (Thomas Guettler)의 의견을 여기에서보십시오. http://code.activestate.com/recipes/65203-portalocker-cross-platform-posixnt-api-for-flock-s/ –

+0

이것은입니다. 마음을 굽히기도 : http://stackoverflow.com/questions/9907616/python-fcntl-does-not-lock-as-expected –

0

Google up zc.lockfile 또는 portalocker.py 두 라이브러리 모두 휴대용 방식으로 파일을 잠글 수 있습니다 (windows 및 posix 시스템). 나는 보통 zc.lockfile을 사용한다.

+0

나는 모든 라이브러리를 사용했지만 그 중 아무 것도 내 목적을위한 것이 아닙니다. 실제로 나는 그 파일을 읽을 때마다 아무도 파일을 읽을 수없고 쓸 수 있기를 원합니다. –