저는 약 50 개의 별개의 임시 파일을 생성해야하는 Python 스크립트를 작성하고 있습니다.이 파일은 모두 스크립트 과정에서 자주 추가되고 끝에 병합됩니다. tempfile
모듈이 내가 필요한 것을 할 수 있다고 확신하지만 문서를 읽는 방법을 이해하지 못했습니다.Python의 tempfile.NamedTemporaryFile()을 사용하는 방법?
변수가 아니라 임시 파일을 사용하여 스크립트가 수만 개의 다른 파일을 처리 할 때 이러한 데이터 청크가 커지기 때문에 시스템 메모리를 절약하고 싶습니다.
item = (string from another file) # string must id file for future use
tmpfile = 'tmpfiles/' + item
if item not in totalitems:
totalitems.add(item)
with open(tmpfile, 'w') as itemfile:
output = some stuff
tmpfile.write(output)
else:
with open(tmpfile, 'a') as itemfile:
output = different stuff
tmpfile.write(output)
내가 tempfile.NamedTemporaryFile()
입니다 필요 생각 :
다음의 코드 덩어리 내가 현재 untemporary 디렉토리에이 파일 (untemporarily)을 만들 사용하고 해킹입니다. documentation에 따르면 :
해당 이름은 파일 개체의 이름 구성원에서 검색 할 수 있습니다.
불행히도, 나는 그것이 의미하는 것을 이해하지 못합니다. 나중에 처리 할 파일에서 해당 "항목"을 다시 실행할 때 각 파일을 다시 호출 할 수 있어야합니다. 나는 이것이 오히려 똑바로 앞으로 나는 밀도가 있다고 생각합니다. 필자는 Python 2.7.1과 3.2.3 모두를위한이 스크립트 버전을 가지고 있습니다. 나는 단지 하나 또는 다른 사람들이 일하기를 정말로 필요로한다. 나는 모두 학습 운동으로 창조했다.
가능한 중복 http://stackoverflow.com/questions/10501247/best-way- 파일 이름을 파이썬으로 생성) – Joe
@Joe,이 질문의 일부는 연결된 스레드의 복제본처럼 보입니다. 그것의 부분은 아닙니다; 아래 Levon의 대답 아래에있는 주석을보십시오. – Gregory
왜 이러한 파일의 이름을 지정해야합니까? 이름이 지정되지 않은 경우 (사전 삭제 된 경우) 정리의 측면에서 잘못 될 가능성이 적습니다. 이름이 아닌 tmpfile 객체를 저장 한 다음'seek (0)'을 호출하여 읽을 준비가 된 시작으로 이동하거나 그 내용을 mmap하거나 원하는 경우 액세스 할 수 있습니다. –