Временный файл не удаляется? - PullRequest
0 голосов
/ 25 мая 2018

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

Я уже посетил это Ошибка Windows: [Ошибка 32] Процесс не может получить доступ к файлу, поскольку он используется другим процессом: 'new.dat' , ноне решил мою проблему.

Код

import os
import tempfile

path=tempfile.mkstemp('.png', 'bingo',
    'C:\\Users\\MuhammadUsman\\Documents\\PythonScripts\\Project')
os.unlink(path)

Ошибка

PermissionError: [WinError 32] The process cannot access the file
because it is being used by another process:
'C:\\Users\\MuhammadUsman\\Documents\\PythonScripts\\Project\\bingois3q1b3u.png'

Ответы [ 2 ]

0 голосов
/ 25 мая 2018

Если вы хотите получить только уникальное имя, попробуйте это.Это лучше, чем верхнее решение.Нет необходимости удалять файл.Файл автоматически будет удален.

import os
import tempfile

path=tempfile.NamedTemporaryFile(dir='C:\\Users\\MuhammadUsman\\Documents\\Python Scripts\\Project',suffix='.png').name
0 голосов
/ 25 мая 2018

Попробуйте: это работает для меня.

import os
import tempfile

fd,path=tempfile.mkstemp('.png', 'bingo', 'C:\\Users\\MuhammadUsman\\Documents\\Python Scripts\\Project')
os.close(fd)
os.unlink(path)
...