tempfile 모듈은 임시 파일과 임시 디렉터리를 만드는 데 특별히 사용됩니다. UNIX와 Windows 플랫폼 모두에서 잘 작동합니다.
tempfile 모듈은 일반적으로 사용되는 많은 기능을 아래에서 자세히 소개하겠습니다.
tempfile.TemporaryFile(mode='w+b', buffering=None, 인코딩=None, newline=None, suffix=None, prefix=None, dir=None): 임시 파일을 만듭니다. 이 함수는 파일과 유사한 객체를 반환합니다. 즉, 파일 I/O를 지원합니다.
tempfile.NamedTemporaryFile(mode='w+b', buffering=None, 인코딩=None, newline=None, suffix=None, prefix=None, dir=None, delete=True): 임시 파일을 생성합니다. 이 함수는 생성된 임시 파일이 파일 시스템에 파일 이름을 가지고 있다는 점을 제외하면 이전 함수와 거의 동일한 작업을 수행합니다.
관련 권장사항: "Python 비디오 튜토리얼"
tempfile.SpooledTemporaryFile(max_size=0, mode='w+b', buffering=None, 인코딩=None, newline=None, suffix=None, prefix=None, dir=None): 임시 파일을 생성합니다. TemporaryFile 함수와 비교하면, 프로그램이 임시 파일에 데이터를 출력할 때 먼저 메모리에 출력되고, 실제로는 max_size를 초과할 때까지 물리 디스크에 출력되지 않습니다.
tempfile.TemporaryDirectory(suffix=None, prefix=None, dir=None): 임시 디렉터리를 생성합니다.
tempfile.gettempdir(): 시스템의 임시 디렉터리를 가져옵니다.
tempfile.gettempdirb(): 이 함수가 바이트 문자열을 반환한다는 점을 제외하면 gettempdir()과 동일합니다.
tempfile.gettempprefix(): 임시 파일을 생성하는 데 사용되는 접두사를 반환합니다.
tempfile.gettempprefixb(): 이 함수가 바이트 문자열을 반환한다는 점을 제외하면 gettempprefix()와 동일합니다.
tempfile 모듈은 tempfile.mkstemp() 및 tempfile.mkdtemp()라는 두 가지 하위 수준 함수도 제공합니다. 임시 파일 및 임시 디렉터리를 생성하기 위해 위에서 소개한 네 가지 기능은 모두 고급 기능이며 with 문과 함께 사용할 수 있지만 이 두 가지 저수준 기능은 그렇지 않습니다. 일반적으로 임시 파일과 임시 디렉터리를 생성하려면 고급 기능을 사용하는 것이 좋습니다.
또한 tempfile 모듈은 tempfile.tempdir 속성도 제공하며, 이 속성에 값을 할당하여 시스템의 임시 디렉터리를 변경할 수 있습니다.
다음 프로그램은 임시 파일과 임시 디렉터리를 사용하는 방법을 보여줍니다.
import tempfile # 创建临时文件 fp = tempfile.TemporaryFile() print(fp.name) fp.write('两情若是久长时,'.encode('utf-8')) fp.write('又岂在朝朝暮暮。'.encode('utf-8')) # 将文件指针移到开始处,准备读取文件 fp.seek(0) print(fp.read().decode('utf-8')) # 输出刚才写入的内容 # 关闭文件,该文件将会被自动删除 fp.close() # 通过with语句创建临时文件,with会自动关闭临时文件 with tempfile.TemporaryFile() as fp: # 写入内容 fp.write(b'I Love Python!') # 将文件指针移到开始处,准备读取文件 fp.seek(0) # 读取文件内容 print(fp.read()) # b'I Love Python!' # 通过with语句创建临时目录 with tempfile.TemporaryDirectory() as tmpdirname: print('创建临时目录', tmpdirname)
위 프로그램은 두 가지 방법으로 임시 파일을 만듭니다.
첫 번째 방법은 임시 파일을 읽고 쓴 후 수동으로 만드는 것입니다. 적극적으로 닫아야 합니다. 프로그램이 임시 파일을 닫으면 자동으로 삭제됩니다.
두 번째 방법은 with 문을 사용하여 임시 파일을 생성하여 with 문이 자동으로 임시 파일을 닫도록 하는 것입니다.
위 프로그램도 마지막에 임시 디렉터리를 생성합니다. 프로그램은 with 문을 사용하여 임시 디렉터리를 관리하므로 프로그램은 임시 디렉터리도 자동으로 삭제합니다.
위 프로그램을 실행하면 다음 출력을 볼 수 있습니다.
C:\Users\admin\AppData\Local\Temp\tmphvehw9z1 两情若是久长时,又岂在朝朝暮暮。 b'I Love Python!' 创建临时目录C:\Users\admin\AppData\Local\Temp\tmp3sjbnwob
위 출력의 첫 번째 줄은 프로그램에서 생성된 임시 파일의 파일 이름이고, 출력의 마지막 줄은 임시 파일의 디렉터리 이름입니다. 프로그램에 의해 생성된 디렉토리입니다. 임시 파일이나 임시 폴더는 프로그램이 종료되면 삭제되므로 임시 파일이나 임시 폴더를 찾지 마십시오.
위 내용은 Pythontemp 란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!