파이썬에서 어떻게 tmp 파일을 만들 수 있습니까?
파일의 경로를 참조하는 다음 기능이 있습니다.
some_obj.file_name(FILE_PATH)
여기서 FILE_PATH는 파일 경로의 문자열입니다.H:/path/FILE_NAME.ext
다음 문자열의 내용을 사용하여 파이썬 스크립트 내에 FILE_NAME.ext 파일을 만들고 싶습니다.
some_string = 'this is some content'
어떻게 하는 거지?Python 스크립트는 Linux 상자 안에 배치됩니다.
당신이 찾고 있는 것 같아요.
import tempfile
with tempfile.NamedTemporaryFile() as tmp:
print(tmp.name)
tmp.write(...)
그러나:
이름이 지정된 임시 파일이 열려 있는 동안 파일을 다시 여는 데 이름을 사용할 수 있는지 여부는 플랫폼마다 다릅니다(유닉스에서는 사용할 수 있지만 윈도우즈 NT 이상에서는 사용할 수 없음).
문제가 되는 경우:
import os, tempfile
tmp = tempfile.NamedTemporaryFile(delete=False)
try:
print(tmp.name)
tmp.write(...)
finally:
tmp.close()
os.unlink(tmp.name)
python을 위한 모듈이 있지만 간단한 파일 생성도 유용합니다.
new_file = open("path/to/FILE_NAME.ext", "w")
이제 당신은 그것에 쓸 수 있습니다.write
방법:
new_file.write('this is some content')
와 함께tempfile
모듈은 다음과 같이 보일 수 있습니다.
import tempfile
new_file, filename = tempfile.mkstemp()
print(filename)
os.write(new_file, "this is some content")
os.close(new_file)
와 함께mkstemp
파일을 마친 후 파일을 삭제해야 합니다.다른 인수를 사용하여 파일의 디렉터리 및 이름에 영향을 줄 수 있습니다.
갱신하다
Emmet Speer가 올바르게 지적했듯이, 사용할 때 보안 고려 사항이 있습니다.mkstemp
클라이언트 코드가 생성된 파일의 닫기/정리를 담당하기 때문입니다.링크에서 가져온 더 나은 처리 방법은 다음 스니펫입니다.
import os
import tempfile
fd, path = tempfile.mkstemp()
try:
with os.fdopen(fd, 'w') as tmp:
# do stuff with temp file
tmp.write('stuff')
finally:
os.remove(path)
그os.fdopen
파일 설명자를 Python 파일 개체로 래핑합니다. 이 개체는 다음과 같은 경우 자동으로 닫힙니다.with
나가세요. 전화가 왔습니다.os.remove
더 이상 필요하지 않은 경우 파일을 삭제합니다.
언급URL : https://stackoverflow.com/questions/8577137/how-can-i-create-a-tmp-file-in-python
'programing' 카테고리의 다른 글
Python 3 및 MySQL 커넥터의 유니코드 및 잘못된 인수 수 오류 (0) | 2023.07.22 |
---|---|
Python에서 POST 및 GET 변수는 어떻게 처리됩니까? (0) | 2023.07.22 |
크로스 컴파일 시 외부 라이브러리를 사용하는 방법은 무엇입니까? (0) | 2023.07.22 |
리눅스 커널에서 자는 방법? (0) | 2023.07.22 |
캐시되지 않은 Gitstash: 단계별 변경 사항을 모두 정리하는 방법은 무엇입니까? (0) | 2023.07.17 |