Código fonte de tugalib.tuga_io

"""
Funções de entrada e saída
==========================

Funções que realizam a interação com o usuário, seja lendo valores digitados
ou arquivos, seja mostrando valores na tela.
"""

from tugalib.util import synonyms


@synonyms('mostre')
[documentos]def mostrar(*args): """ Mostra o objeto ou texto fornecido na tela. Se for chamada com vários argumentos, imprime os mesmos em sequência, separando-os com um espaço. Examples -------- >>> mostrar("Olá, mundo!") Olá, mundo! """ print(*args)
@synonyms('leia_texto')
[documentos]def ler_texto(mensagem=''): """ Pede ao usuário uma entrada de texto. Examples -------- >>> nome = ler_texto('Seu nome: ') >>> mostrar("olá, " + nome) # usuário digita "maria" olá, maria """ if isinstance(mensagem, str) and mensagem: mensagem = mensagem + ' ' if not mensagem.endswith(' ') else mensagem return input(mensagem)
@synonyms('leia_número')
[documentos]def ler_número(mensagem=''): """ Pede ao usuário uma entrada numérica. Examples -------- >>> x = ler_número('Um número: ') # usuário digita um 2... >>> x + 40 42 """ texto = ler_texto(mensagem) num = float(texto.replace(',', '.')) return int(num) if int(num) == num else num
@synonyms('leia_arquivo', 'leia_ficheiro', 'ler_ficheiro')
[documentos]def ler_arquivo(arquivo): """ Lê conteúdo de um arquivo texto e retorna uma string de texto. Examples -------- >>> dados = ler_arquivo("foo.txt") """ return open(arquivo).read()
@synonyms('salve_arquivo', 'salvar_ficheiro', 'salve_ficheiro')
[documentos]def salvar_arquivo(arquivo, texto): """ Salva o conteúdo de texto no arquivo indicado, apagando qualquer conteúdo anterior. CUIDADO! Caso o arquivo dado exista, esta função sobrescreverá seu conteúdo sem perguntar nada! Examples -------- >>> salvar_arquivo("foo.txt", dados) """ with open(arquivo) as F: F.write(str(texto))
if __name__ == '__main__': import doctest # doctest.testmod()