¿Cómo se accede explícitamente al nombre en el alcance integrado de Python?Acceso explícito al alcance integrado de Python
Una situación donde me encontré con esto fue en un módulo, digamos llamado foo, que por casualidad tenía una función abierta. En otro módulo, la función abierta de foo sería accesible como foo.open, que funciona bien. Sin embargo, en foo, bloques abiertos, el construido en abierto. ¿Cómo se puede acceder a la versión incorporada de un nombre como abrir explícitamente?
Soy consciente de que probablemente sea una mala idea bloquear cualquier nombre incorporado, pero todavía tengo curiosidad por saber si hay una forma de acceder explícitamente al alcance integrado.
+1: Es una muy mala idea para anular los nombres incorporados. –
Admito que estoy abriendo un tema antiguo, pero la pregunta me parece correcta. Explico: escribí una función para obtener acceso al archivo como lo hace 'open', tomando los mismos parámetros y devolviendo el mismo objeto, pero manejando casos en los que el archivo no se podía abrir en el formato deseado (generalmente de solo lectura). Solo accedería a él mediante algo como 'import my_scripts; f = my_scripts.open (nombre de archivo, modo) '. Como encuentro que el nombre 'my_scripts.open_' no es guapo, ¿sería eso malo, dado que el alcance está claramente dado? –