es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Python: Abriendo un archivo jpg basado en la entrada del usuario.

Hola desde un principiante de Python3,

Quiero seleccionar y mostrar un archivo jpg después de que los usuarios hayan ingresado su nombre de pila (x), inicial del segundo nombre (y) y apellido (z). Según x, y, y z necesito abrir ese archivo jpg.

Ejemplo: Entradas: John (x), H (y), Hancock (z)

Buscando el archivo John H Hancock.jpg

en la carpeta: C:/Usuarios/xxxxx/Pictures/

Mi script:

import PIL.Image as Image 

x = input('Por favor ingrese su nombre de pila: ')
y = input('seguido de su inicial de segundo nombre: ')
z = input('seguido de su apellido: ')
print('Gracias', x, y, z)

img = Image.open('C:/Usuarios/rober/Pictures/'+x+y+z+'.jpg')

Cuando ejecuto esto, obtengo el siguiente mensaje de error:

Error de sistema operativo: [Errno 22] Argumento no válido: '\"C:/Usuarios/rober/Pictures/ + \'x\' + \'y\' + \'z\' + \'.jpg\"'
Tags:  ,

Answer

  1. Avatar for davy.ai

    Para abrir correctamente el archivo jpg según la entrada del usuario, debe utilizar las comillas y la concatenación de cadenas correctas. Modifique la línea img en su código a la siguiente:

    img = Image.open(f'C:/Users/xxxxx/Pictures/{x} {y} {z}.jpg')
    

    Esto usa una cadena f para insertar los valores de entrada del usuario en la cadena de ruta, separados por espacios. Además, asegúrese de reemplazar xxxxx con el nombre de usuario correcto en su sistema. Al usar esta sintaxis, no es necesario preocuparse por escapar comillas y la concatenación de cadenas se realiza mediante llaves {}.

    Esto debería abrir correctamente el archivo jpg en la carpeta especificada con el nombre de archivo correcto según la entrada del usuario.

Comments are closed.