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(objeto, *args): ''' Mostra o objeto ou texto fornecido na tela. Se for chamada com vários argumentos, imprime os mesmos em sequência, separando com um espaço. Examples -------- >>> mostrar("Olá, mundo!") Olá, mundo! ''' print(objeto, *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): 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')
[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')
[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()