Avançar para o conteúdo principal

Python - Organização do código por módulos

Python - Organização do código por módulos

Para códigos com alguma dimensão e complexidade há que pensar em organizar o código.


Quer seja para legibilidade ou organização, manter todo o código apenas num ficheiro é considerada uma má prática.
Existem diversas formas de organizar o código. Uma é repartir o código por ficheiros que se chamam módulos e podem ser importados para o código principal.

Mesmo para a repartição por ficheiros, há várias soluções, trago aqui a mais básica.

Tendo numa pasta o ficheiro principal.py posso repartir na mesma pasta o código num outro ficheiro a que chamei funcoes.py.
Tenho também na imagem uma pasta Source que será outra solução a explorar.

Dentro do ficheiro funcoes.py tenho um conjunto de funções, ou métodos, que serão chamados desde o ficheiro principal.py 



Neste ficheiro tenho duas funções que podem ser chamadas desde o ficheiro principal, adiciona e subtrai. Note-se que coloquei ao inicio um texto que nunca será apresentado pois nenhuma função ou método o executa. A chamada do ficheiro principal é ao conteúdo das funções.

No ficheiro principal tenho de ter o import funcoes que le o ficheiro funcoes.py


Veja-se que depois para executar a função adiciona tenho de colocar antes o prefixo do nome do módulo importado.
De notar que existem outros métodos para realizar a importação.




Se optar por organizar os módulos dentro de uma pasta, como no esquema da primeira imagem a importação é ligeiramente diferente.
Dentro do ficheiro funcoes_extras.py não há nada de diferente.



Na importação do módulo que está dentro da pasta, temos de fazer referência à pasta com o prefixo igual ao nome da pasta, neste caso source.funcoes_extras 



A execução do programa apresenta o output seguinte:


O output acima é o resultado da leitura e execução dos dois módulos.

Comentários

Mensagens populares deste blogue

C# - Viadutos Excel - ISPOL

C# - Viadutos Excel - ISPOL Ler dados do Excel e passar a informação para o ISPOL é um ganho de produtividade e organização. Desta vez, apresento uma utilidade que lê um ficheiro Excel, e transforma os dados para o menu de estruturas do ISPOL. Partindo de um Excel organizado, por pks eixos e espessuras da estrutura etc... como o seguinte: Elaborei um programita em CSharp: Este programa funciona em modo "DOS" não tem uma interface gráfica de janelas: O programa cria os ficheiros necessários, o Excel pode estar organizado por eixos, e o programa guarda um ficheiro para cada eixo: O resultado depois de abrir o ficheiro em ISPOL é o seguinte: Com as alterações ao projecto pode-se manter um ficheiro de apresentação e controlo em Excel.

ISPOL - Representação de Gabaris

ISPOL - Representação de Gabaris No ISPOL podemos representar ao longo do traçado um contorno e até realizar variações. A representação de um contorno ou gabari pode ser realizada no ISPOL de um modo simples, usando por exemplo um Símbolo (bloco) da biblioteca, ou um ou vários criados à medida para atender aos casos necessários. Na imagem abaixo um exemplo da biblioteca do ISPOL, representado no perfil transversal. Estas secções são constituídas por símbolos/blocos: Podem-se desenhar ao longo do eixo proporcionando a vista típica destas situações, uma espécie de sólido que enche o traçado. Além desta representação "simples" o ISPOL permite realizar transições entre símbolos diferentes, por exemplo para representar os diferentes gabaris em recta e curva. Ou outras situações que se achem necessárias. Permite ainda condicionar a representação destes símbolos por valores de raio. Isto é para um determinado raio. Pode ser usado para indicar de forma automática ao programa que em r...

Python - Automatização em ISPOL

Python - Automatização em ISPOL Com o uso de PyAutoGui podemos automatizar tarefas repetitivas no ISPOL ISTRAM. No trabalho actual, é necessário converter mais de 300 ficheiros. Já houve um trabalho prévio de ler e transformar dados de directrizes em Excel para ficheiros compatíveis com a conversão presente. Este trabalho prévio foi também feito com programação. Tendo os muitos ficheiros com formato TXT que o ISPOL pode ler e converter para CEJ, é necessário ir ao menu de Conversores do ISTRAM e digitar os dados para ler a localização dos ficheiros, número de eixo etc... um trabalho repetitivo. Sendo repetitivo uma hipótese que deve surgir é se existe forma de automatizar / programar. O ISTRAM ISPOL não permite o uso de plugins (como o CAD), por tanto a via seria pela automatização dos movimentos. O pacote PyAutoGUI para Python permite esta simulação de movimentos. https://pyautogui.readthedocs.io/en/latest/ Basicamente "guiamos" o cursor para onde deve clicar e o que introdu...