Как вывести текст с определенной строки? Python
Есть код:
import sys
def read_prises(arg):
with open('prises.txt', 'r', encoding='utf-8') as p:
p_lines = p.read()
if len(arg) == 1:
print(p_lines)
if len(arg) == 2:
for i in range(int(arg[1])):
print(p.readline(i))
#Проблема вот в этом if-условии. Это все, что мне удалось сделать.
if __name__ == '__main__':
read_prises(sys.argv)
Он должен возвращать текст из определенного файла.
Если в функцию будет передан аргумент в виде числа, то это число будет соответствовать номеру строки, с которой нужно будет печатать текст.
Я не знаю как это сделать. Все попытки приводили к тому, что выводилась пустота.
Подскажите, пожалуйста, как это реализовать!
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Попробуйте так:
main.py
import sys
def read_prises(arg):
#print(f'arg = {arg}')
if len(arg) < 2:
return
num_line = int(arg[1])
with open('prises.txt', 'r', encoding='utf-8') as p:
p_lines = p.read().split('\n')
if num_line <= len(p_lines):
print(f'Строка номер:{num_line} \n{p_lines[num_line]}' )
if __name__ == '__main__':
read_prises(sys.argv)
prises.txt
Он должен возвращать текст из определенного файла.
Если в функцию будет передан аргумент в виде числа,
то это число будет соответствовать номеру строки,
с которой нужно будет печатать текст.
Я не знаю как это сделать.
Все попытки приводили к тому, что выводилась пустота.
Подскажите, пожалуйста, как это реализовать!
