Importación de módulos definidos por el usuario en python desde un directorio

Estoy tratando de importar un módulo que escribí en python que simplemente imprime una lista que contiene números. El problema que tengo es que quiero poder importarlo desde un directorio separado, pero las respuestas que he leído hasta ahora no parecen funcionar para mi situación.

Por ejemplo, dado que quiero importar printnumbers.py desde un directorio en mi carpeta de documentos, se supone que debo implementar lo siguiente:

import sys sys.path.append('/home/jake/Documents') import printnumbers.py 

Este snipit de código da como resultado un “Error de importación” que me indica que el módulo especificado no existe. No estoy exactamente seguro de dónde proceder, he revisado varias veces para asegurarme de que sea la ortografía correcta para la ruta y el nombre del módulo. Todavía estoy tratando de entender exactamente lo que se agrega al “sys.path”. Por lo que entiendo, ¿le está diciendo al progtwig que busque módulos en ese directorio?

Gracias a todos los que responden a mi pregunta bastante novicia. Solo busco una mejor comprensión de esto que la documentación de Python no está proporcionando para mi estado de ánimo.

Cuando el archivo es printnumbers.py , el módulo se llama printnumbers (sin el .py ). Por lo tanto usar

 import printnumbers 

 import sys sys.path.append('/home/jake/Documents') 

anexa '/home/jake/Documents' al final de sys.path . Los directorios enumerados en sys.path se buscan (en el orden indicado) siempre que una statement de importación haga que Python busque un módulo. (Los módulos ya importados se almacenan en caché en sys.modules , por lo que Python no siempre necesita buscar en los directorios sys.path para importar un módulo …)

Entonces, si tiene un archivo /home/jake/Documents/printnumbers.py , la import printnumbers hará que Python lo importe siempre que no haya otro archivo llamado printnumbers.py en un directorio listado en sys.path delante de /home/jake/Documents/ .

Tenga en cuenta que inyectar directorios en sys.path no es la forma habitual de configurar Python para buscar módulos. Por lo general, es preferible agregar /home/jake/Documents a su variable de entorno PYTHONPATH. sys.path incluirá automáticamente los directorios enumerados en la variable de entorno PYTHONPATH.

y una cosa más, use un archivo __ init __.py vacío en su directorio para convertirlo en un paquete de Python (solo entonces Python sabrá que este directorio es un directorio de paquetes de Python que no es un directorio ordinario). Por lo tanto, puede importar módulos de ese paquete desde un directorio diferente.