2012-11-29 5 views
18

일부 파일 처리 및 파일을 생성하기 위해 기존 데이터에서 일부 임시 파일을 생성하고 해당 파일을 내 함수의 입력으로 사용해야합니다.django 임시 파일을 생성하고 파괴하는 방법

하지만 어디서 파일을 저장하고 삭제해야하는지 혼란 스럽습니다.

자동으로 tempfile 모듈에서 뭔가를 사용해야하는 사용자 세션

답변

38

정확히이 목적을 위해 파이썬에는 tempfile module이 있습니다. 파일의 위치/삭제에 대해 걱정할 필요가 없으며, 지원되는 모든 플랫폼에서 작동합니다.

임시 파일의 세 가지 유형이 있습니다 - 다만 기본 임시 파일,

  • tempfile.NamedTemporaryFile -

    • tempfile.TemporaryFile을 "이 기능은 파일이 보이는이 보장되는 것을 제외하고, 바로 이러한 TemporaryFile()로 작동 파일 시스템의 이름 (Unix에서 디렉토리 항목의 연결이 해제되지 않음)은 해당 파일 객체의 이름 속성에서 검색 할 수 있습니다. ",
    • tempfile.SpooledTemporaryFile -"Thi 의 기능은 데이터가 메모리에 스풀 제외 파일 크기 max_size 초과하거나 파일의 fileno() 방법은 콘텐츠 TemporaryFile()와 같이 디스크 동작 진행을 기록하는 시점에서, 호출 될 때까지까지 TemporaryFile()가 수행 정확하게 동작한다. 다음과 같이 할 수 당신이 물었다 사용 예 :

    편집 ".

    >>> with TemporaryFile() as f: 
         f.write('abcdefg') 
         f.seek(0) # go back to the beginning of the file 
         print(f.read()) 
    
    
    abcdefg 
    
  • +0

    당신이 나에게 그것을 사용 후 임시 파일을 생성하고 몇 가지 예를 보여줄 수 난 찾을 수 없습니다 이 예제에서는 – user825904

    +0

    @ user32 : 예제는 매우 간단합니다. 클래스 중 하나를 인스턴스화하고 반환 된 파일을 가져온 다음 표준 파일 인 것처럼 작업합니다 (문서에 언급 된 제한이 있음). 임시적 일뿐입니다.). – Tadeck

    0

    후 삭제됩니다 파일이있는 임시 위치에 있습니다. 나는 그것이 당신이 필요로하는 모든 것을 가지고 있다고 생각합니다.

    관련 문제