IST - Física HowTo - Informática 03:38
2026-04-08
  Programação
 
     Python
 
        Módulos
 
           Criar um módulo
 
           Módulos "sme"
 
              smeUtils
 
              smeTf
 
              smeTfImgDs
 
              smeTfImg
 
              smeGudhi
 

Python — Módulo smeUtils

Sumário
1. Introdução
2. smeFigRectGetDims: Organiza rectângulo para N imagens
3. smeFileReadNum: lê ficheiro de números (int ou float)
4. smeFileReadNumRand: lê ficheiro de números (int ou float) e escolhe alguns aleatoriamente
5. smeModuleUpdate: Mostra os comandos a dar para actualizar um módulo local
6. smePrintAppend: Imprime no ecran o texto "text" e acrescenta-o ao vector "vLogFile"
7. smePrintTwoVects: Imprime dois vectores no ecrã
8. smePrintVect: Imprime um vector no ecrã
9. smeTimeDiff: Calcular o tempo de cálculo e o tempo de CPU
10.
11. Links úteis
Início

1. Introdução

Funções úteis de uso geral.
Início

2. smeFigRectGetDims: Organiza rectângulo para N imagens

smeFigRectGetDims (qt)
Dado um número "qt" de objectos, procura as dimensões "(N, N)" ou "(N+1, N) em que caibam todas os objectos. Retorna num vector com essas dimensões. Exemplo:
vQt = smeFigRectGetDims(15)
Início

3. smeFileReadNum: lê ficheiro de números (int ou float)

smeFileReadNum (fname, skip=0, sep=' ', cols=-1, type=float)
Lê um ficheiro de números e retorna um vector em que cada elemento é por sua vez um vector com os valores de cada linha.
Os seus argumentos são:
  • fname: Nome do ficheiro
  • skip: Número de linhas iniciais a ignorar (default: 0)
  • sep: Separador entre os números (default: espaço)
  • cols=: Números das colunas a incluir começando em zero. "-1" significa todas (default: -1)
  • type: Tipo dos valores a retornar, pode ser "float" ou "int" (default: float)
Início

4. smeFileReadNumRand: lê ficheiro de números (int ou float) e escolhe alguns aleatoriamente

smeFileReadNumRand (fname, skip=0, sep=' ', cols=-1, type=float, nRand=0)
Função idêntica a smeFileReadNum mas permite escolher aleatóriamente um seu subconjunto com "nRand" elementos. No caso de "nRand" ser "0" ou maior do que o número total de linha é idêntico a smeFileReadNum. (default: 0)
Início

5. smeModuleUpdate: Mostra os comandos a dar para actualizar um módulo local

smeModuleUpdate (module)
ostra os comandos a dar para actualizar um módulo local. Exemplo:
smeModuleUpdate(smeUtils)
Início

6. smePrintAppend: Imprime no ecran o texto "text" e acrescenta-o ao vector "vLogFile"

smePrintAppend (vLogFile, text)
Imprime no ecran o texto "text" e acrescenta-o ao vector "vLogFile" e retorna o vector "vLogFile" actualizado. Exemplo:
vStr = smePrintAppend(vStr, text)
Início

7. smePrintTwoVects: Imprime dois vectores no ecrã

smePrintTwoVects (v1, v2, qt=-1, sep=" --- ")
Imprime no ecrã dois vectores, em que "qt" pode ser um número ou uma lista de dois elementos. Se for um número e "qt < 0" imprime todos os valores, no caso contrário imprime os "qt" primeiros elementos. Se "qt" for uma lista imprime da posição qt[0] até à posição "qt[1]-1". "sep" é uma string que faz a separação entre os vectores. Exemplo:
smePrintTwoVects (v1, v2, [2,4], " --> ")
Início

8. smePrintVect: Imprime um vector no ecrã

smePrintVect (v1, qt=-1)
Imprime no ecrã um vector, em que "qt" pode ser um número ou uma lista de dois elementos. Se for um número e "qt < 0" imprime todos os valores, no caso contrário imprime os "qt" primeiros elementos. Se "qt" for uma lista imprime da posição qt[0] até à posição "qt[1]-1". Exemplo:
smePrintVect (v1, [2,4])
Início

9. smeTimeDiff: Calcular o tempo de cálculo e o tempo de CPU

smeTimeDiff (tInit=None)
Calcula o tempo de cálculo e o tempo de CPU. Para marcar o tempo inicial chama-se a função sem argumentos e recebe-se o seu valor; para calcular o intervalo de tempo, deve usar-se, como argumento, o valor anteriormente retornado, o retorno desta segunda operação é um dicionário com dois elementos: "time" (correspondente ao tempo real) e "clock" (correspondente ao tempo de CPU). Exemplo:
t1 = smeTimeDiff()
t2 = smeTimeDiff(t1)
print(f"time: {t2.time} ; clock: {t2.clock}")
Início

10.

Início

11. Links úteis

Início