Fundamentos de Python: estruturas de dados - Trad. 2º edição norte-americana

Page 46

Programação básica em Python

>>> f.close()

O não fechamento de um arquivo de saída pode resultar na perda de dados.

Gravando números em um arquivo de texto

27

O método de arquivo write espera uma string como argumento. Portanto, outros tipos de dados, como inteiros ou números de ponto flutuante, devem primeiro ser convertidos em strings antes de serem gravados em um arquivo de saída. Em Python, os valores da maioria dos tipos de dados podem ser convertidos em strings usando o função str. As strings resultantes são então gravadas em um arquivo com um espaço ou uma nova linha como um caractere separador. O próximo segmento de código ilustra a saída de inteiros para um arquivo de texto. Quinhentos inteiros aleatórios entre 1 e 500 são gerados e gravados em um arquivo de texto denominado integers.txt. O caractere de nova linha é o separador. import random f = open("integers.txt", 'w') for count in range(500): number = random.randint(1, 500) f.write(str(number) + "\n") f.close()

Lendo texto de um arquivo de texto Você abre um arquivo para entrada de maneira semelhante a abrir um arquivo para saída. A única coisa que muda é a string de modo, que, no caso de abrir um arquivo para entrada, é 'r'. No entanto, se o nome de caminho não estiver acessível a partir do diretório de trabalho atual, o Python gerará um erro. Eis o código para abrir myfile.txt para entrada: >>> f = open("myfile.txt", 'r')

Há várias maneiras de ler dados de um arquivo de entrada. A maneira mais simples é usar o método de arquivo read para inserir todo o conteúdo do arquivo como uma única string. Se o arquivo contiver várias linhas de texto, os caracteres de nova linha serão incorporados nessa string. A próxima sessão com o shell mostra como usar o método read: >>> text = f.read() >>> text 'First line.\nSecond line.\n' >>> print(text) First line. Second line.

Depois que a entrada for concluída, outra chamada a read retorna uma string vazia, para indicar que o final do arquivo foi alcançado. Para repetir uma entrada, você deve reabrir o arquivo. Não é necessário fechar o arquivo. Como alternativa, um aplicativo pode ler e processar o texto uma linha por vez. Um laço for faz isso muito bem. O laço for exibe um objeto de arquivo como uma sequência de linhas

Fundamentos de Python_estruturas de dados_miolo.indb 27

22/02/2022 10:37:02


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.
Fundamentos de Python: estruturas de dados - Trad. 2º edição norte-americana by Cengage Brasil - Issuu