-3
라이브러리를 사용하는 경우 프로그램이 완료 되어도 임시 파일이 자동으로 삭제되지 않는 시나리오가 발생할 수 있습니다. 이는 임시 파일이 쌓이면 디렉토리가 지저분 해 지므로 여러 번 사용되는 프로그램에 매우 중요합니다.Python 3.4 : 임시 파일이 자동으로 삭제되지 않음
라이브러리를 사용하는 경우 프로그램이 완료 되어도 임시 파일이 자동으로 삭제되지 않는 시나리오가 발생할 수 있습니다. 이는 임시 파일이 쌓이면 디렉토리가 지저분 해 지므로 여러 번 사용되는 프로그램에 매우 중요합니다.Python 3.4 : 임시 파일이 자동으로 삭제되지 않음
이것은 Q &입니다. 따라서 여기 내 해결책이 있습니다.
은 분명히, tempfile.TemporaryFile
의 기본 설정이 자동으로 임시 파일을 삭제하지만 tempfile.NamedTemporaryFile
작품 접두사 추가하지 않습니다
with tempfile.NamedTemporaryFile(prefix="anything_",
dir=os.getcwd()) as tempf:
'''put something'''
tempf.seek(0)
주 :
os.getcwd()
은을 얻는 것입니다을 현재 파일의 디렉토리.anything_ + (random values)
이 (즉 anything_23mem
)는 희망이 도움이 될 것입니다.
무엇이 문제였습니까? –
이것은 스택 오버 플로우 (Stack Overflow) 질문이 아닌 파이썬 사용자를위한 버그 리포트와 비슷합니다. 당신의 문제도 해결책도 전혀 이해가되지 않습니다. 필자는'with' 블록 종료시 자동 삭제를 시작하기 위해'prefix'를 제공 할 필요가 없었으며 자동 삭제 ('ctypes' 또는 확장이 실제로 정리를 우회하는 인터프리터를 추락시킨 경우는 제외) 적이 없었습니다. 이 기능이 전혀 작동하지 않는다면, 작업 디렉토리를 저장 위치로 명시 적으로 사용하는 것일 수 있습니다 ('TEMP' 저장소 디렉토리에 대한 권한이 잘못되어 있기 때문에).'prefix'와는 관련이 없습니다. – ShadowRanger
@ShadowRanger 'TEMP' 폴더에서 임시 파일을 자동으로 삭제하는 것이 잘 작동하지 않는다는 사실에 의심 스러웠습니다. 그래서 나는 (스크립트를 실행 한 후) 그 디렉토리로 갔고, 나는 여전히 거기에서 그들을 보았다. 다음으로 내가 쉽게 모니터 할 수 있도록 임시 파일의 dir을 스크립트의 디렉토리와 동일하게 만드는 것이다. 또한 PC 관리자를 사용 중입니다. 그래서 스크립트를 실행 해 보았지만 작동했지만 임시 파일은 남아있었습니다. 그래서 저의 경험을 공유 할 사람이 있다면 내 "솔루션"을 공유하는 것입니다. – Kucosyn