1
resposta

list comprehension com o comando 'open'

uma forma de 'encurtar' o código:

arquivo = open('palavras.txt','r') palavras = [] for fruta in arquivo: fruta = fruta.strip() palavras.append(fruta) arquivo.close() print(palavras)

seria:

palavras = [fruta.strip() for fruta in open('palavras.txt', 'r')] print(palavras)

minha dúvida é: tenho que usar o comando close() para fechar o arquivo? se sim, como usaria no caso acima?

1 resposta

Eu usaria o gerenciador de contexto, que garante o fechamento do arquivo:

with open('palavras.txt') as f:
    palavras = [x.strip() for x in f if x.strip()]  # 'if x.strip()' ==  ignorar linhas vazias

for palavra in palavras:
    print(palavra)