1. 소개
임시 파일은 일반적으로 메모리에 저장할 수 없는 데이터를 저장하거나 파일에서 읽어야 하는 외부 프로그램에 전달하는 데 사용됩니다. 일반적으로 /tmp 디렉터리에 고유한 파일 이름을 생성하지만 임시 파일을 안전하게 생성하는 것은 그렇게 간단하지 않으며 많은 규칙을 따라야 합니다. 이 작업을 직접 시도하지 말고 대신 라이브러리 함수를 사용하십시오. 또한 임시 파일을 정리할 때도 주의하세요.
임시 파일로 인해 발생하는 가장 큰 문제는 파일 이름을 예측할 수 있다는 것입니다. 이로 인해 악의적인 사용자가 임시 파일 이름을 예측하고 임시 파일을 탈취하기 위한 소프트 링크를 만들 수 있다는 것입니다.
관련 무료 학습 권장사항: python 동영상 튜토리얼
2. 임시 파일 모듈 소개
임시 파일을 생성하는 데 일반적으로 사용되는 모듈은 tempfile입니다.
다음 방법은 임시 파일을 생성하는 안전한 방법과 안전하지 않은 방법을 소개합니다.
3.1 잘못된 예:잘못된 1:
import os
import tempfile
# This will most certainly put you at risk
tmp = os.path.join(tempfile.gettempdir(), filename)
if not os.path.exists(tmp):
with open(tmp, "w") file:
file.write("defaults")
import os
import tempfile
open(tempfile.mktemp(), "w")
filename = "{}/{}.tmp".format(tempfile.gettempdir(), os.getpid())
open(filename, "w")
정답 1:
fd, path = tempfile.mkstemp()
try:
with os.fdopen(fd, 'w') as tmp:
# do stuff with temp file
tmp.write('stuff')
finally:
os.remove(path)
# 句柄关闭,文件即删除
with tempfile.TemporaryFile() as tmp:
# Do stuff with tmp
tmp.write('stuff')
tmp = tempfile.NamedTemporaryFile(delete=True)
try:
# do stuff with temp
tmp.write('stuff')
finally:
tmp.close() # 文件关闭即删除
관련 무료 학습 권장사항:python tutorial(동영상)
위 내용은 Python 임시 파일을 올바르게 사용하는 방법 알아보기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!