Как создать временный каталог и получить путь /имя файла в Python

как создать временный каталог и получить путь /имя файла в python

101 голос | спросил duhhunjonn 11 J000000Sunday10 2010, 19:41:21

3 ответа


0

Используйте mkdtemp() из tempfile модуль:

 import tempfile
import shutil

dirpath = tempfile.mkdtemp()
# ... do stuff with dirpath
shutil.rmtree(dirpath)
ответил Philipp 11 J000000Sunday10 2010, 19:45:45
0

Чтобы развернуть другой ответ, вот довольно полный пример, который может очистить tmpdir даже при исключениях:

import contextlib
import os
import shutil
import tempfile

@contextlib.contextmanager
def cd(newdir, cleanup=lambda: True):
    prevdir = os.getcwd()
    os.chdir(os.path.expanduser(newdir))
    try:
        yield
    finally:
        os.chdir(prevdir)
        cleanup()

@contextlib.contextmanager
def tempdir():
    dirpath = tempfile.mkdtemp()
    def cleanup():
        shutil.rmtree(dirpath)
    with cd(dirpath, cleanup):
        yield dirpath

def main():
    with tempdir() as dirpath:
        pass # do something here
ответил cdunn2001 22 +03002015-10-22T21:41:47+03:00312015bEurope/MoscowThu, 22 Oct 2015 21:41:47 +0300 2015, 21:41:47
0

В python 3.2 и более поздних версиях для этого есть полезный менеджер контекста в stdlib «> https://docs.python.org/3/library/tempfile.html#tempfile.TemporaryDirectory

ответил André Keller 22 ThuEurope/Moscow2016-12-22T16:03:46+03:00Europe/Moscow12bEurope/MoscowThu, 22 Dec 2016 16:03:46 +0300 2016, 16:03:46

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132