Come si accede esplicitamente al nome in ambito di Python?Accesso esplicito allo scope di Python
Una situazione in cui mi sono imbattuto in questo era un modulo in, ad esempio chiamato foo, che è successo avere una funzione aperta. In un altro modulo la funzione aperta di foo sarebbe accessibile come foo.open che funziona bene. In foo stesso però, apre i blocchi di built-in aperto. Come puoi accedere alla versione integrata di un nome come apri esplicitamente?
Sono consapevole che probabilmente è praticamente una cattiva idea bloccare qualsiasi nome incorporato, ma sono comunque curioso di sapere se esiste un modo per accedere esplicitamente allo scope incorporato.
+1: E 'una pessima idea per ignorare i nomi built-in. –
Ammetto che sto aprendo un argomento ooold, ma la domanda mi sembra giusta. Spiego: Ho scritto una funzione per ottenere l'accesso al file proprio come fa 'open', prendendo gli stessi parametri e restituendo lo stesso oggetto, ma gestendo i casi in cui il file non poteva essere aperto nel desiderato (di solito in sola lettura). Vorrei accedervi solo con qualcosa come 'import my_scripts; f = my_scripts.open (filename, mode) '. Come trovo il nome 'my_scripts.open_' non è bello, sarebbe così male, dato che lo scopo è chiaramente dato? –