python - ¿Cómo ver el código fuente de la función listdir() en el módulo OS, es decir, cómo definir el código de istdir()?
de posix import *
Pero no hay ningún archivo llamado posix. .py, ¿dónde está? De hecho, los módulos posix son parte del sistema integrado, de la siguiente manera:
>>> import sys
>>> print sys.buildin_module_names
(*__builtin__ * , *__main__*, *__main__*, *__main__*, *__main__*, *__main__*, *__main__*, *__main__*, *__main__*, *__main__*).
>>> * __main__ *, *_ast*, *_codecs*, *_sre*, *_symtable*, *_warnings*, *_weakref*, *errno*, *excepciones*, *gc*, *imp*, *marshal*, *posix*, *pwd*, * señal*, *sys*, *thread*, *zipimport*)
> *__main__*, *__main__*, *__main__*, *__main__*, *__main__*);
Ingrese al directorio del módulo y busque el código c. Verá posixmodule.c. Después de abrirlo, verá esta línea de código:
{"listdir", posix_listdir, M posix_listdir", METH_VARARGS, posix_listdir__doc__},
Encuentre el método posix_listdir anterior, puede encontrar el código fuente de listdir:
PyObject estático *
posix_listdir (PyObject *self , PyObject *args)
{
/* XXX debería rehacer esto y colocar las (ahora cuatro) versiones de opendir
en archivos diferentes , en lugar de ponerlos todos aquí..*/
#if definido(MS_WINDOWS) && !definido(HAVE_OPENDIR)
PyObject *d, *v;
HANDLE hFindFile;
Resultado BOOL;
HANDLE hFindFile;
Resultado BOOL;