Ir para conteúdo
Fórum Script Brasil
  • 0

Como importar uma função, classe etc de outro arquivo


Dixavado®

Pergunta

Fala galera beleza?

To iniciando em Python e gostaria de saber como importar arquivos de um módulo que criei.

Por exemplo:

Tenho um arquivo que está na raiz e outro em uma subpasta (módulo). Eu gostaria de criar um objeto do arquivo que está na sub pasta.

A estrutura seria assim:

--+arquivo.py

--------------+modelo (este é o nome da pasta)

----------------+pessoa.py

Dentro da pasta modelo eu tenho o arquivo __init__.py que indica que é um módulo. E o arquivo pessoa.py tem o seguinte código:

class pessoa(object):
    def setNome(self,nome):
        self.nome = nome
    def getNome(self):
        return self.nome
Eu gostaria de criar um objeto desta classe no arquivo.py Estou tentando fazer como abaixo mas não está dando certo
from modelo import pessoa
p = pessoa()
#a partir daqui eu daria os gets e sets

O que estou fazendo de errado?

valeu galera!

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Vou dizer como eu fiz aqui, acho que fica melhor do que explicar como faz:

Na raiz tem um arquivo teste1.py e uma pasta chamada teste

--- teste1.py

--- [teste]

Dentro da pasta teste, tem o init.py e o teste2.py

--- __init__.py

--- teste2.py

O init tá vazio. O conteúdo do teste1 e teste2 é esse:

teste1

from teste import teste2
p = teste2.pessoa()
p.oi()
teste2
class pessoa(object):
    def oi(self):
        print("olaaa")

Note que eu estou importando o modulo inteiro, e não apenas a classe.

Se quisesse importar apenas a classe, eu poderia usar no teste1:

from teste.teste2 import pessoa

p = pessoa()

Você tava importando da pasta a função direto, sem informar o arquivo (modulo) que ela tá.

Espero que minha explicação não tenha complicado mais. rs

Editado por Mnemonic
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...