텍스트 파일로 /로부터 데이터를 읽거나 쓰는 멀티 스레딩입니다. 이 실제 파일을 대체하지 않고이 파일에서 텍스트를 바꾸거나 제거 할 수 있어야합니다.다른 스레드가 파일을 읽는 동안 파일을 어떻게 수정할 수 있습니까?
문자열에 .read()
을 간단히 입력 할 수없고, 다른 스레드가 해당 파일을 계속 사용하고 있기 때문에 같은 이름의 새 파일을 .write()
으로 만들 수는 없습니다. 스레드가 .read()
이 파일에서해야하기 때문에 나는 다른 파일에 .write()
수 없습니다.
이것이 가능합니까?
여기에 file.replace()
또는 file.remove()
또는 file.delete()
과 (과) 비슷한 항목이 있습니까?
하나의 쓰기 스레드 (및 다중 읽기 스레드)가 있습니까? 왜 그것은 파일 이어야만합니까 (인 메모리 객체와 반대되는)? 동시 액세스가 훨씬 쉬운 데이터베이스를 사용할 수 없습니까? –
이것이 스레드로부터 안전 할 것이라고 확신 할 수는 없지만 mmap은 사용자의 관심사와 관련이있는 것처럼 보입니다. 한 가지 문제는 .read()를 사용하면 더 이상 불이 들어 있지 않은 문자열 데이터를 가져 오는 것입니다. http://docs.python.org/release/3.2/library/mmap.html –