제 문제는 로그가 회전 될 때 파이썬 프로그램에 대한 로깅이 중지된다는 것입니다. 스트림 자체를 추적했습니다. 파이썬에서 스트림이 깨 졌는지 알 방법이 없다. 파일을 삭제 한 후에도 문제없이 쓰기가 가능합니다.파일이 삭제 될 때 파이썬에서 깨진 스트림 감지하기
import os
FILE = 'testing.txt'
fs = open(FILE, 'a')
fs.write('word')
os.remove(FILE)
fs.write('Nothing....') # Nothing breaks
print(fs.errors) # No errors
그럼 파일 스트림이 아직 유효한지 어떻게 알 수 있습니까? 그리고 스트림이 여전히 유효한지 여부에 관계없이 파일이 항상 존재하기 때문에 파일이 존재하는지 확인하는 것은 도움이되지 않습니다.
사용하는 파이썬의 OS 및 버전은 무엇입니까? 나는 이것을 실행하려고 노력했고 os.remove (FILE)는 나에게 오류를 주었다. 그 파일이 사용중이라고! 나는 다른 프로그램에서 열지 않았으므로 파이썬에서 열려 있어야합니다. 나는이 노트북에서 XP를 사용하고 있으며 학교 컴퓨터는 Python 2.5 만 가지고있다. – Curlystraw
흥미 롭다. 필자의 목표는 Linux (redhat)와 Python 2.6.5입니다. 그리고 나는 리눅스 (우분투) Python 2.7.1에서 코드를 테스트했다. –