Modifique o programa do Exercício 9.1 para que receba mais dois parâmetros: a linha de início e a de fim para impressão. O programa deve imprimir apenas as linhas entre esses dois valores (incluindo as linhas de início e fim).
Resposta:
##############################################################################
# Parte do livro Introdução à Programação com Python
# Autor: Nilo Ney Coutinho Menezes
# Editora Novatec (c) 2010-2024
# Primeira edição - Novembro/2010 - ISBN 978-85-7522-250-8
# Segunda edição - Junho/2014 - ISBN 978-85-7522-408-3
# Terceira Edição - Janeiro/2019 - ISBN 978-85-7522-718-3
#
# Site: https://python.nilo.pro.br/
#
# Arquivo: exercicios3\capitulo 09\exercicio-09-02.py
##############################################################################
import sys
# Verifica se os parâmetros foram passados
if len(sys.argv) != 4: # Lembre-se que o nome do programa é o primeiro da lista
print("\nUso: e09-02.py nome_do_arquivo inicio fim\n\n")
else:
nome = sys.argv[1]
inicio = int(sys.argv[2])
fim = int(sys.argv[3])
arquivo = open(nome, "r")
for linha in arquivo.readlines()[inicio-1:fim]:
# Como a linha termina com ENTER,
# retiramos o último caractere antes de imprimir
print(linha[:-1])
arquivo.close()
# Não esqueça de ler sobre encodings
# Dependendo do tipo de arquivo e de seu sistema operacional,
# ele pode não imprimir corretamente na tela.