Tmp python что это
Перейти к содержимому

Tmp python что это

  • автор:

Модуль tempfile в Python, временные файлы и каталоги

Создание защищенных временных файлов и каталогов для программы

Модуль tempfile создает временные файлы и каталоги. Работает на всех поддерживаемых платформах. Модуль определяет несколько конструкторов высокого уровня, которые обеспечивают автоматическую очистку и могут использоваться в качестве менеджеров контекста. Функции tempfile.mkstemp() и tempfile.mkdtemp() являются функциями более низкого уровня, которые требуют ручной очистки.

Приложения, которым требуются временные файлы для хранения данных, без необходимости делиться этим файлом с другими программами, должны использовать функцию tempfile.TemporaryFile() для создания файлов. Функция создает файл и на платформах, где это возможно, немедленно отменяет связь с ним. Это делает невозможным для другой программы найти или открыть файл, поскольку в таблице файловой системы нет ссылки на него.

Когда требуется несколько временных файлов, может быть удобнее создать один временный каталог с помощью tempfile.TemporaryDirectory() и открыть все файлы в этом каталоге.

Все вызываемые пользователем функции и конструкторы принимают дополнительные аргументы, которые позволяют напрямую контролировать расположение и имя временных файлов и каталогов. Имена файлов, используемые этим модулем, содержат строку случайных символов, которая позволяет безопасно создавать эти файлы в общих временных каталогах. Для обеспечения обратной совместимости порядок аргументов несколько странный. Для ясности рекомендуется использовать ключевые аргументы.

Примеры:

Вот несколько примеров типичного использования модуля tempfile :

>>> import tempfile # Создать временный файл и # записать в него некоторые данные >>> fp = tempfile.TemporaryFile() >>> fp.write(b'Hello world!') # Читать данные из файла >>> fp.seek(0) >>> fp.read() # b'Hello world!' # Закройте файл, он будет удален >>> fp.close() 

Создать временный файл, используя менеджер контекста

>>> with tempfile.TemporaryFile() as fp: . fp.write(b'Hello world!') . fp.seek(0) . fp.read() # b'Hello world!' >>> # Файл закрыт и удален 

Создать временный каталог с помощью диспетчера контекста

>>> with tempfile.TemporaryDirectory() as tmpdirname: . print('created temporary directory', tmpdirname) >>> # Каталог и содержимое были удалены 
  • КРАТКИЙ ОБЗОР МАТЕРИАЛА.
  • Класс TemporaryFile() модуля tempfile
  • Функция NamedTemporaryFile() модуля tempfile
  • Функция SpooledTemporaryFile() модуля tempfile
  • Функция TemporaryDirectory() модуля tempfile
  • Функция mkstemp() модуля tempfile
  • Функция mkdtemp() модуля tempfile
  • Вспомогательные функции модуля tempfile

Python 3 — Как просканировать папку /tmp, найти в ней файлы, которые начинаются с «x» и удалить их? [закрыт]

Вопросы с просьбами помочь с отладкой («почему этот код не работает?») должны включать желаемое поведение, конкретную проблему или ошибку и минимальный код для её воспроизведения прямо в вопросе. Вопросы без явного описания проблемы бесполезны для остальных посетителей. См. Как создать минимальный, самодостаточный и воспроизводимый пример.

Закрыт 2 года назад .
Я делаю программу для очистки кеша / мусора. Она будет удалять всё, что начинается с:

1) Папки ".com.google.Chrome." 2) Файлы "config-err" 3) Папка "mintUpdate" 4) Файлы-изображения "xapp-tmp-" 5) Папки "ssh-" 

Давайте код только для Linux, у меня нет Windows.
Отслеживать
задан 7 янв 2022 в 12:49
Brainsluggy Brainsluggy
106 12 12 бронзовых знаков
и что вы уже сделали? что не получилось?
7 янв 2022 в 12:54
Я не знаю как сделать, как раз пытаюсь найти ответ. Но его нет
7 янв 2022 в 12:56

на что нет ответа — как получить список файлов в папке? гугл в помощь — миллион страниц. выбирайте и пробуйте

7 янв 2022 в 13:00
@splash58 ответа нет на то, почему за него это никто еще не сделал
7 янв 2022 в 13:18

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Во-первых ВСЕ нужные функции доступны для поиска в интернете.

import os tmp_path='/tmp' os.chdir(tmp_path) # Переходим в tmp all_dirs_and_files = os.listdir() # Получаем список файлов patterns = ['.com.goole.Chrome.', 'config-err', 'mintUpdate', 'xapp-tmp-', 'ssh-'] # Здесь список проверяемых паттернов for f_or_d in all_dirs_and_files: # Перебираем все папки и файлы flag = False for patt in patterns: if f_or_d.startswith(patt): # Проверяем на соответствие с каждым паттерном flag = True if flag: # Если подошло под паттерн if os.path.isfile(f_or_d): # Проверяем файл ли это os.remove(f_or_d) # Удаляем файл else: os.rmdir(f_or_dir) # Иначе удаляем папку 

Прочти некоторые списки полезных функций:

UPDATE

Сразу не заметил что некоторые паттерны под папки, некоторые только под файлы.

Вот улучшенный код

import os tmp_path='/tmp' os.chdir(tmp_path) # Переходим в tmp all_dirs_and_files = os.listdir() # Получаем список файлов patts_d = ['.com.goole.Chrome.', 'mintUpdate', 'ssh-'] # Здесь список проверяемых паттернов для директорий patts_f = ['config-err', 'xapp-tmp-'] for f_or_d in all_dirs_and_files: # Перебираем все папки и файлы if os.path.isfile(f_or_d): # Проверяем файл ли это flag = False for patt in patts_f: if f_or_d.startswith(patt): # Проверяем на соответствие с каждым паттерном flag = True if flag: os.remove(f_or_d) else: flag = False for patt in patts_d: if f_or_d.startswith(patt): # Проверяем на соответствие с каждым паттерном flag = True if flag: os.rmdir(f_or_d) 

Вспомогательные функции модуля tempfile

Функция tempfile.gettempdir() возвращает имя каталога как строку, используемого для временных файлах. Это определяет значение по умолчанию для аргумента dir для всех функций в этом модуле.

Python ищет стандартный список каталогов, чтобы найти тот, в котором вызывающий пользователь может создавать файлы.

  • Каталог, переменной среды TMPDIR.
  • Каталог, переменной среды TEMP.
  • Каталог, переменной среды TMP.
  • Местоположение для конкретной платформы:
    • В Windows каталоги C:\TEMP, C:\TMP, \TEMP и \TMP в указанном порядке.
    • На всех других платформах каталоги /tmp, /var/tmp и /usr/tmpв указанном порядке.

    Результат этого поиска кэшируется, смотрите описание tempfile.tempdir .

    >>> import tempfile >>> tempfile.gettempdir() # '/tmp' 
    tempfile.gettempdirb() :

    Метод tempfile.gettempdirb() то же, что tempfile.gettempdir() , но только возвращаемое значение в байтах.

    >>> import tempfile >>> tempfile.gettempdirb() # b'/tmp' 
    tempfile.gettempprefix() :

    Метод tempfile.gettempprefix() возвращает префикс имени файла как строку, используемый для создания временных файлов. Значение не содержит компонент каталога.

    >>> import tempfile >>> tempfile.gettempprefix() # 'tmp' 
    tempfile.gettempprefixb() :

    Метод tempfile.gettempprefixb() то же, что tempfile.gettempprefix() , но только возвращаемое значение в байтах.

    >>> import tempfile >>> tempfile.gettempprefixb() # b'tmp' 
    tempfile.tempdir :

    Если tempfile.tempdir задано значение отличное от None , то эта она определяет значение по умолчанию для аргумента dir для функций, определенных в этом модуле.

    >>> import tempfile >>> tempfile.tempdir # '/tmp' 

    Если tempdir=None (по умолчанию) при любом вызове любой из вышеперечисленных функций, кроме tempfile.gettempprefix() , он инициализируется в соответствии с алгоритмом, описанным в tempfile.gettempdir() .

    Модуль tempfile использует глобальную переменную для хранения имени каталога, используемого для временных файлов, возвращаемых tempfile.gettempdir() . Переменная может быть установлена непосредственно, чтобы переопределить процесс выбора, но это не рекомендуется. Все функции в этом модуле принимают аргумент dir , который можно использовать для указания каталога, и это рекомендуемый подход.

    • КРАТКИЙ ОБЗОР МАТЕРИАЛА.
    • Класс TemporaryFile() модуля tempfile
    • Функция NamedTemporaryFile() модуля tempfile
    • Функция SpooledTemporaryFile() модуля tempfile
    • Функция TemporaryDirectory() модуля tempfile
    • Функция mkstemp() модуля tempfile
    • Функция mkdtemp() модуля tempfile
    • Вспомогательные функции модуля tempfile

    Tmp python что это

    Текстовые метки: python, tempfile, temp, tmp, temporary, TemporaryFile, NamedTemporaryFile, SpooledTemporaryFile, TemporaryDirectory, mkstemp, mkdtemp

    Раздел: Информационные технологии — Python — Основы языка

    Запись: and-semakin/mytetra_data/master/base/15354433241hj0ebwdqi/text.html на raw.githubusercontent.com

    В стандартной библиотеке Python есть модуль tempfile, который содержит классы и методы для корректной работы с временными файлами и директориями.

    Сигнатура: tempfile.TemporaryFile(mode=’w+b’, buffering=None, encoding=None, newline=None, suffix=None, prefix=None, dir=None)

    Эта функция создает временный файл в системной директории (разная в различных ОС) и возвращает файлоподобный объект (file-like object). Созданный временный файл будет автоматически удален по закрытию файла или при выходе из контекстного менеджера. Также другие процессы и приложения не смогут получить доступ к этому временному файлу.

    import tempfile #1

    print(«Creating one temporary file. «)

    temp = tempfile.TemporaryFile() #2

    print(«Created file is:», temp) #3

    print(«Name of the file is:», temp.name) #4

    print(«Closing the temp file»)

    Creating one temporary file.

    Created file is:

    Name of the file is: 4

    Closing the temp file

    Сигнатура: tempfile.NamedTemporaryFile(mode=’w+b’, buffering=None, encoding=None, newline=None, suffix=None, prefix=None, dir=None, delete=True)

    В прошлом примере было показано, что функция tempfile.TemporaryFile() возвращает файлоподобный объект без имени, но в Python есть и другая функция, которая позволяет создать именованный временный файл.

    print(«Creating one named temporary file. «)

    print(«Created file is:», temp)

    print(«Name of the file is:», temp.name)

    print(«Closing the temp file»)

    Creating one named temporary file.

    Created file is:

    Name of the file is: /var/folders/l7/80bx27yx3hx_0_p1_qtjyyd40000gn/T/tmpa3rq8lon

    Closing the temp file

    Как мы видим, у созданного файла есть имя. Фишка в том, что мы можем сохранить имя временного файла и использовать после закрытия файла или завершения программы (для этого есть аргумент delete=False ).

    Сигнатура: tempfile.TemporaryDirectory(suffix=None, prefix=None, dir=None)

    Эта функция создает временную директорию. Это может быть удобно, если нужно сохранить несколько временных файлов.

    with tempfile.TemporaryDirectory() as tmpdirname:

    print(‘Created temporary directory:’, tmpdirname)

    # Both the directory and its contents have been deleted

    Created temporary directory: /var/folders/l7/80bx27yx3hx_0_p1_qtjyyd40000gn/T/tmpn_ke7_rk

    • PEP8 — общепринятый стиль кода на языке Python
    • Асинхронное программирование в Python
    • Типизация (аннотация типов) в Python
    • Распространенные операции со словарями (dict) в Python
    • Управление аттрибутами объектов в Python
    • Распространенные операции со списками (list) в Python
    • Работа с временными файлами в Python
    • Распространенные операции над множествами (set) в Python

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *