В каком месте объявить переменную чтения файла

druskov

Новичок
Пользователь
Май 5, 2021
1
0
1
Здравствуйте.
Совсем недавно пришел в мир программирования на python 3.9, решаю задачи. К сожалению, не все удается найти в документации.
Прошу помочь, если здесь можно задавать подобные вопросы)

Код:
f = open('files/my.txt', 'r', encoding='utf-8')
count_s = 0
symbols = 0

for i in f:
    count_s += 1
print('количество строк в файле: {}'.format(count_s))

f.seek(0)
file = f.read()
spisok = file.split()
for i in spisok:
    symbols += len(i)
print('количество символов в файле без пробелов: {}'.format(symbols))
f.close()

Код выдает результат:
количество строк в файле: 2
количество символов в файле без пробелов: 24

Код:
f = open('files/my.txt', 'r', encoding='utf-8')
file = f.read()
count_s = 0
symbols = 0

for i in f:
    count_s += 1
print('количество строк в файле: {}'.format(count_s))

f.seek(0)
spisok = file.split()
for i in spisok:
    symbols += len(i)
print('количество символов в файле без пробелов: {}'.format(symbols))
f.close()

Код выдает результат:
количество строк в файле: 0
количество символов в файле без пробелов: 24

Если задавать переменную чтения (file = f.read()) в самом начале, то перестает работать подсчет строк.
Не пойму с чем это связано.
 

Вложения

  • my.txt
    50 байт · Просмотры: 1

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
25
28
почему не
Код:
count_s = symbols = 0
или
Код:
count_s, symbols = 0, 0
количество строк в файле
чтобы это узнать не нужен цикл вообще, например посчитать количество абзацев, НЕ?
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
929
207
43
20
Москва
И еще, почитайте про f строки, это когда вместо 'количество строк в файле: {}'.format(count_s) пишут f'количество строк в файле: {count_s}'
 

Форум IT Специалистов