Set_up: tengo un archivo .py para cada función que necesito usar en un programa.
En este programa, necesito llamar a la función desde los archivos externos.
He intentado:
from file.py import function(a,b)
Pero me sale el error:
ImportError: ningún módulo llamado 'file.py'; el archivo no es un paquete
¿Cómo soluciono este problema?
from file import function
. No hay necesidad de extensiones de archivo o parámetros de funciónfile.py
, asegúrese de que no haya ningún paquete en su directorio con el nombrefile
.Respuestas:
No es necesario agregar
file.py
al importar. Simplemente escribafrom file import function
y luego llame a la función usandofunction(a, b)
. La razón por la que esto puede no funcionar es porquefile
es uno de los módulos principales de Python, por lo que le sugiero que cambie el nombre de su archivo.Tenga en cuenta que si usted está tratando de funciones de importación de
a.py
un archivo llamadob.py
, tendrá que asegurarse de quea.py
yb.py
están en el mismo directorio.fuente
Antes que nada no necesitas a
.py
.Si tiene un archivo
a.py
y dentro tiene algunas funciones:Y si quieres importarlos
z.py
tienes que escribirfuente
Puedes hacer esto de 2 maneras. Primero es solo importar la función específica que desea de file.py. Para hacer esto use
Otra forma es importar todo el archivo
Luego puede llamar a cualquier función dentro de file.py usando
fuente
También puede llamar a la función desde un directorio diferente, en caso de que no pueda o no quiera tener la función en el mismo directorio en el que está trabajando. Puede hacer esto de dos maneras (quizás haya más alternativas, pero estas son las que me han funcionado).
Alternativa 1 Cambie temporalmente su directorio de trabajo
Alternativa 2 Agregue el directorio donde tiene su función a sys.path
fuente
Si su archivo tiene una estructura de paquete diferente y desea llamarlo desde un paquete diferente, puede llamarlo de esa manera:
Digamos que tiene la siguiente estructura de paquete en su proyecto de Python:
en el
com.my.func.DifferentFunction
archivo python tiene alguna función, como:Y desea llamar a diferentes funciones desde
Example3.py
, luego de la siguiente manera puede hacerlo:Definir declaración de importación en
Example3.py
- archivo para importar todas las funcioneso defina cada nombre de función que desea importar
Luego, en
Example3.py
puede llamar a la función para ejecutar:Salida:
fuente
Encontré la misma característica, pero tuve que hacer lo siguiente para que funcione.
Si ve 'ModuleNotFoundError: No module named', probablemente necesite el punto (.) Delante del nombre del archivo como se muestra a continuación;
fuente
Primero guarde el archivo en formato .py (por ejemplo,
my_example.py
). Y si ese archivo tiene funciones,En la función de llamada solo tiene que escribir las siguientes líneas.
nombre_archivo: mi_ejemplo2.py
============================
============================
fuente
import fn
(sin extensión) y usarlos directamente en el archivo principalfn.my_funcion()
. Cuando usoimport fn.py
intenta cargar el archivo py.py, que no existe. Usarfrom fn.py import funcname
no funcionó también. Gracias.Cambie el nombre del módulo a otro que no sea 'archivo'.
Entonces también asegúrese de llamar a la función que:
1) si está importando el módulo completo, reitera el nombre del módulo al llamarlo:
o
2) o si está importando funciones específicas, funciones con un alias o todas las funciones que usan *, no reitera el nombre del módulo:
o
o
fuente
Las funciones del archivo .py (puede (por supuesto) estar en un directorio diferente) se pueden importar simplemente escribiendo directorios primero y luego el nombre del archivo sin la extensión .py:
Y luego se utilizará:
function_name()
fuente
Dentro de MathMethod.Py.
Inside Main.Py
Salida: 1200
fuente
No tienes que agregar
file.py
.Simplemente mantenga el archivo en la misma ubicación con el archivo desde donde desea importarlo. Luego solo importa tus funciones:
fuente
Debe tener el archivo en la misma ubicación que la de los archivos de Python que está intentando importar. También 'desde la función de importación de archivos' es suficiente.
fuente
agregue un punto (.) delante del nombre de un archivo si desea importar este archivo que está en el mismo directorio donde está ejecutando su código.
Por ejemplo, estoy ejecutando un archivo llamado a.py y quiero importar un método llamado addFun que está escrito en b.py, y b.py está en el mismo directorio
desde .b import addFun
fuente
Supongamos que el archivo al que desea llamar es anotherfile.py y el método al que desea llamar es method1, luego importe primero el archivo y luego el método
si método1 es parte de una clase, deje que la clase sea clase1, luego
luego cree un objeto de clase1, suponga que el nombre del objeto es ob1, luego
fuente
en mi caso nombré mi archivo
helper.scrap.py
y no pude hacerlo funcionar hasta que cambié ahelper.py
fuente