WinError 32: процесс не может получить доступ к файлу, поскольку он используется другим процессом - PullRequest
1 голос
/ 30 октября 2019
import os
def delt(p):
    a=open("D:\\Parthiv\\Py\\1.name.txt",'r')
    c=a.readlines()
    c.pop(p)
    a.close()
    os.remove("D:\\Parthiv\\Py\\1.name.txt")
    b=open("D:\\Parthiv\\Py\\temp.txt",'w')
    for i in range(0,len(c)):
        f=c[i]
        b.write(f)
    b.close()
    os.rename("D:\\Parthiv\\Py\\temp.txt","D:\\Parthiv\\Py\\1.name.txt")
delt(0)

С помощью этого кода я хочу определить функцию, которая удаляет определенную строку из любого файла, без использования каких-либо внешних библиотек. Но возникает следующая ошибка:

----> 7     os.remove("D:\\Parthiv\\Py\\1.name.txt")
PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'D:\\Parthiv\\Py\\1.name.txt' 

Почему эта ошибка возникает, когда я уже закрыл файл с a.close()?

...