This is the error:
os.rename(nombre_del_file_anterior, nombre_del_file_nuevo)
PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'contactos/alex.txt' -> 'contactos/pirata.txt'
PS C:\apps\python>
this is my code:
def editar_contacto():
print('Escribe el nombre del contacto a editar')
nombre_anterior = input('Nombre del contacto que desea editar: \r\n')
# Revisa si el archivo existe con ese nombre, antes de editarlo
existe = existe_contacto(nombre_anterior)
if existe:
with open(CARPETA nombre_anterior EXT, 'w') as archivo:
# Resto de los campos
nombre_contacto = input('Agregar el nuevo nombre: \r\n')
telefono_contacto = input('Agrega el nuevo telefono: \r\n')
categoria_contacto = input('Agrega la nueva Categoria: \r\n')
#Instanciar
contacto = Contacto(nombre_contacto, telefono_contacto, categoria_contacto)
#Escribir en el archivo
archivo.write('Nombre:' contacto.nombre '\r\n')
archivo.write('Telefono:' contacto.telefono '\r\n')
archivo.write('Categoria:' contacto.categoria '\r\n')
nombre_del_file_anterior = f'contactos/{nombre_anterior}.txt'
nombre_del_file_nuevo = f'contactos/{contacto.nombre}.txt'
#Renombrar el archivo
os.rename(nombre_del_file_anterior, nombre_del_file_nuevo)
#Mostrar mensaje de exito
print(' \r\n Contacto Editado correctament \r\n ')
else:
print('Este contacto no existe')
CodePudding user response:
def editar_contacto():
print('Escribe el nombre del contacto a editar')
nombre_anterior = input('Nombre del contacto que desea editar: \r\n')
# Revisa si el archivo existe con ese nombre, antes de editarlo
existe = existe_contacto(nombre_anterior)
if existe:
with open(CARPETA nombre_anterior EXT, 'w') as archivo:
# Resto de los campos
nombre_contacto = input('Agregar el nuevo nombre: \r\n')
telefono_contacto = input('Agrega el nuevo telefono: \r\n')
categoria_contacto = input('Agrega la nueva Categoria: \r\n')
#Instanciar
contacto = Contacto(nombre_contacto, telefono_contacto, categoria_contacto)
#Escribir en el archivo
archivo.write('Nombre:' contacto.nombre '\r\n')
archivo.write('Telefono:' contacto.telefono '\r\n')
archivo.write('Categoria:' contacto.categoria '\r\n')
nombre_del_file_anterior = f'contactos/{nombre_anterior}.txt'
nombre_del_file_nuevo = f'contactos/{contacto.nombre}.txt'
#Renombrar el archivo
os.rename(nombre_del_file_anterior, nombre_del_file_nuevo)
#Mostrar mensaje de exito
print(' \r\n Contacto Editado correctament \r\n ')
else:
print('Este contacto no existe')