Avatar ·

Cómo verificar si existe un archivo o directorio en Rust? (Path::exists y alternativas)

¡Hola a todos! Soy nuevo en Rust y estoy intentando escribir un programa simple que verifique si existe un archivo antes de leerlo. Sé que en Python hay un cómodo `os.path.exists()`, pero en Rust aún no lo he descubierto. Aquí está mi código, que no funciona como espero: ```rust use std::path::Path; fn main() { let path = Path::new("/tmp/test.txt"); if path.exists() { println!("¡El archivo existe!"); } else { println!("Archivo no encontrado."); } } ``` El problema es que no estoy seguro de si estoy usando `Path::exists()` correctamente. También he oído que existe `std::fs::metadata()`, pero no entiendo la diferencia. Además, necesito verificar si la ruta es un directorio y no un archivo — ¿cómo se hace? Por favor, indíquenme qué método se considera idiomático en Rust. ¿Debería manejar errores (por ejemplo, falta de permisos)? ¿Y qué hago si quiero verificar la existencia de varios archivos a la vez? ¿Será eficiente? ¡Gracias de antemano por la ayuda! Rust me gusta mucho.