Set_up: Eu tenho um arquivo .py para cada função que preciso usar em um programa.
Neste programa, preciso chamar a função a partir dos arquivos externos.
Eu tentei:
from file.py import function(a,b)
Mas eu recebo o erro:
ImportError: nenhum módulo chamado 'file.py'; arquivo não é um pacote
Como corrijo esse problema?
from file import function
. Não há necessidade de extensões de arquivo ou parâmetros de funçãofile.py
, certifique-se não há nenhum pacote em seu diretório com o nomefile
.Respostas:
Não há necessidade de adicionar
file.py
durante a importação. Basta escreverfrom file import function
e chamar a função usandofunction(a, b)
. A razão pela qual isso pode não funcionar é porquefile
é um dos módulos principais do Python, então sugiro que você altere o nome do seu arquivo.Observe que, se você estiver tentando importar funções de
a.py
para um arquivo chamadob.py
, precisará verificar issoa.py
eb.py
estar no mesmo diretório.fonte
Primeiro de tudo você não precisa de
.py
.Se você tem um arquivo
a.py
e dentro, você tem algumas funções:E você deseja importá-los,
z.py
você deve escreverfonte
Você pode fazer isso de duas maneiras. Primeiro, basta importar a função específica que você deseja do arquivo.py. Para fazer isso, use
Outra maneira é importar o arquivo inteiro
Em seguida, você pode chamar qualquer função dentro de file.py usando
fonte
Você também pode chamar a função de um diretório diferente, caso não possa ou não queira ter a função no mesmo diretório em que está trabalhando. Você pode fazer isso de duas maneiras (talvez haja mais alternativas, mas estas são as que funcionaram para mim).
Alternativa 1 Altere temporariamente seu diretório de trabalho
Alternativa 2 Adicione o diretório em que você tem sua função ao sys.path
fonte
Se o seu arquivo estiver na estrutura de pacotes diferentes e você quiser chamá-lo de um pacote diferente, poderá chamá-lo dessa maneira:
Digamos que você tenha a seguinte estrutura de pacotes no seu projeto python:
com.my.func.DifferentFunction
arquivo in - python, você tem alguma função, como:E você deseja chamar funções diferentes de
Example3.py
, então, da seguinte maneira, você pode fazê-lo:Definir declaração de importação no
Example3.py
arquivo - para importar todas as funçõesou defina cada nome de função que você deseja importar
Então,
Example3.py
você pode chamar a função para executar:Resultado:
fonte
Me deparei com o mesmo recurso, mas eu tive que fazer o abaixo para fazê-lo funcionar.
Se você estiver vendo 'ModuleNotFoundError: Nenhum módulo chamado', provavelmente precisará do ponto (.) Na frente do nome do arquivo, como abaixo;
fonte
Primeiro salve o arquivo no formato .py (por exemplo,
my_example.py
). E se esse arquivo tiver funções,Na função de chamada, basta digitar as linhas abaixo.
file_name: my_example2.py
============================
============================
fonte
import fn
(sem extensão) e usando-os diretamente no arquivo principalfn.my_funcion()
. Quando eu usoimport fn.py
tenta carregar o arquivo py.py, o que não existe. Usarfrom fn.py import funcname
não funcionou também. Obrigado.Renomeie o módulo para algo diferente de 'arquivo'.
Além disso, certifique-se de chamar a função que:
1) se você estiver importando o módulo inteiro, reitera o nome do módulo ao chamá-lo:
ou
2) ou se estiver importando funções específicas, funções com um alias ou todas as funções usando *, você não reitera o nome do módulo:
ou
ou
fonte
As funções do arquivo .py (podem (é claro) estar em um diretório diferente) podem ser simplesmente importadas escrevendo primeiro os diretórios e depois o nome do arquivo sem a extensão .py:
E depois ser usado:
function_name()
fonte
Por dentro do MathMethod.Py.
Dentro de Main.Py
Saída: 1200
fonte
Você não precisa adicionar
file.py
.Apenas mantenha o arquivo no mesmo local do arquivo de onde deseja importá-lo. Em seguida, basta importar suas funções:
fonte
Você deve ter o arquivo no mesmo local dos arquivos Python que você está tentando importar. Também 'da função de importação de arquivo' é suficiente.
fonte
anexe um ponto (.) na frente de um nome de arquivo, se você quiser importar esse arquivo, que está no mesmo diretório em que você está executando seu código.
Por exemplo, estou executando um arquivo chamado a.py e quero importar um método chamado addFun que está escrito em b.py, e b.py está no mesmo diretório
de .b import addFun
fonte
Suponha que o arquivo que você deseja chamar seja outro arquivo.py e o método que você deseja chamar seja method1, depois importe o arquivo e, em seguida, o método
se method1 fizer parte de uma classe, deixe a classe ser class1, então
crie um objeto da classe1, suponha que o nome do objeto seja ob1 e, em seguida,
fonte
no meu caso, nomeei meu arquivo
helper.scrap.py
e não consegui fazê-lo funcionar até que eu mudei parahelper.py
fonte