ModuleNotFoundError: Sin módulo denominado '__main __ base.'; '__Main__' no es un paquete (si 即 __name __ == '__ main__' 的 深入 理解)

Si __name__ == '__main__': una descripción breve:

 

    Cada archivo de módulo o pitón pitón (archivo hello1.py en la figura siguiente, y la diferencia entre el módulo pitón pitón --python archivos que tienen una extensión de archivo .py) incluye una función de la variable __name__, pero siempre se refiere a la ejecución actual __main__ archivo o la ruta actual. Cuando el archivo es ejecutado directamente, __ name__ ser igual al nombre del archivo es igual __main__, __name__ a la vez se le asignará automáticamente al analizador "__main__", tipo de cadena (Tenga en cuenta que el valor no será __name__ asignado a tt.hello1.py, véase la Figura 1) , de modo que la expresión si __name __ == "__ main__" es cierto. A continuación, vistazo a la Fig. 2, si el módulo (es decir tt.hello1) es de importación  a otros módulos, el módulo es igual __name__ nombre de módulo ( no incluido sufijo .py), es decir, el valor en este momento tt.hello1 __name__ (Figura 2) .

    A los archivos de pitón usados típicamente en dos maneras, en primer lugar como una secuencia de comandos se ejecuta directamente, y la segunda es la importación de otra secuencia de comandos pitón se llama (bloque de reutilización) realizaron. Así, si __name__ == '__main__': función es controlar la ejecución del código en ambos casos del proceso. 1, la figura 2, si __name__ == '__main__':. Solamente no se ejecuta el código en el primer caso (es decir, como un archivo de script realizado directamente) se ejecutará, y para importar otro script (porque en este momento __name __ = tt.hello1, expresión si __name __ == "__ main__" es falsa ).

 

             

 

 

 

            

 

 

 

       Entonces analizar ModuleNotFoundError por qué ser dado: módulo No llamado; '__main__' no es un paquete, que se muestra en la Figura 3 '__Main __ base.'

           

 

 

 

            La figura usando una ruta relativa, no encontrado importación, .hello1 es decir, el módulo de hello1 trayectoria de corriente

           En este momento se analiza en .hello1 __main __. Hola, haciendo que el programa falle, para utilizar una ruta absoluta

           

 

Supongo que te gusta

Origin www.cnblogs.com/xiaohaodeboke/p/12587018.html
Recomendado
Clasificación