English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Los lenguajes de script tienen una ventaja, es la carga dinámica. El lenguaje lua tiene esta ventaja, python también tiene esta característica. Dicho de manera sencilla, si el desarrollador descubre que su código tiene errores, puede reemplazar dinámicamente los módulos sin cerrar el código original. El método de reemplazo generalmente se realiza con reload.
1El principio básico de reload
reload realiza principalmente dos acciones, elimina el módulo original, agrega el nuevo módulo
2El código equivalente de reload
del sys.modules[module_name] __import__(module_name)
3Qué注意事项在使用reload
3.1 El parámetro de entrada de reload es module, no una cadena, es decir
import sys module = sys.modules[module_name]
3.2 El archivo recargado solo es el archivo __init__.py del módulo correspondiente, si es otro archivo, no tendrá efecto
3.3 Si es otro archivo en el directorio,则需要分别重新加载,例如
import sys del sys.modules['module_name:sub_file'] __import__('module_name:sub_file')
O bien
reload(sys.modules['module_name:sub_file'])
Resumen
Resumen: Los métodos de implementación dinámica de Python que el editor le ha presentado a todos, espero que les sea útil. Si tienen alguna pregunta, déjenme un mensaje y el editor les responderá a tiempo. También agradezco mucho el apoyo de todos a la tutorial de gritos!
Declaración: Este artículo se ha obtenido de la red, el copyright pertenece al propietario original, el contenido ha sido contribuido y subido por los usuarios de Internet de manera autónoma, este sitio web no posee los derechos de propiedad, no ha sido editado por humanos y no asume ninguna responsabilidad legal relacionada. Si encuentra contenido sospechoso de infracción de derechos de autor, por favor envíe un correo electrónico a: notice#w proporcionando evidencia relevante.3Declaración: El contenido de este artículo se ha obtenido de la red, el copyright pertenece al propietario original, el contenido ha sido contribuido y subido por los usuarios de Internet de manera autónoma, este sitio web no posee los derechos de propiedad, no ha sido editado por humanos y no asume ninguna responsabilidad legal relacionada. Si encuentra contenido sospechoso de infracción de derechos de autor, por favor envíe un correo electrónico a: notice#w proporcionando evidencia relevante, una vez que se verifique, este sitio eliminará inmediatamente el contenido sospechoso de infracción.