Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 13, 2019 11:16:28

nkareva
Зарегистрирован: 2019-09-13
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с прочтением файлов и сохранением их содержимого в переменных

Подскажите, пожалуйста почему при открытии файла и сохранении его содержимого в переменной srt1 не получается сохранить это же содержимое файла в в другой переменной list1? выдает пустой список

 myfile_in = open("reading_in.txt", "r")
str1 = myfile_in.read()
print(str1)
list1 = myfile_in.read().split()
print(list1)
myfile_in.close()

Отредактировано FishHook (Сен. 13, 2019 11:39:46)

Офлайн

#2 Сен. 13, 2019 11:43:46

vic57
Зарегистрирован: 2015-07-07
Сообщения: 893
Репутация: +  126  -
Профиль   Отправить e-mail  

Проблема с прочтением файлов и сохранением их содержимого в переменных

nkareva
list1 = myfile_in.read().split()
 list1 = str1.split()
вы уже прочитали файл, указатель сдвинулся в конец файла

Офлайн

#3 Сен. 13, 2019 11:48:39

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Проблема с прочтением файлов и сохранением их содержимого в переменных

nkareva
Представьте, что при открытии файла вы получаете указатель на его начало. Вы можете читать файл посимвольно, построчно, пословно - как угодно, чтение - это перемещение указателя на n позиций от начала к концу. Файл может быть очень большим, больше чем у вас есть оперативной памяти, понятно, что никто не читает весь большой файл в память сразу, читают порциями. Для этого и придумана магия с указателем. А метод read делает как раз это - считывает весь файл. После этого указатель указывает на конец файла, и больше вы ничего считать не можете. Вам надо переместить указатель на начало, для этого есть если не ошибаюсь метод seek.



Офлайн

#4 Сен. 16, 2019 15:03:42

nkareva
Зарегистрирован: 2019-09-13
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с прочтением файлов и сохранением их содержимого в переменных

Спасибо огромное!
Теперь ясно!!
Почему-то нигде в учебниках не встречала этого момента!

Офлайн

#5 Сен. 16, 2019 15:06:46

nkareva
Зарегистрирован: 2019-09-13
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с прочтением файлов и сохранением их содержимого в переменных

vic57
Да, это понятно, что можно сделать из строки список. У меня вопрос был именно почему список пустой. Но теперь ясно! Спасибо огромное!!

Офлайн

#6 Сен. 16, 2019 15:12:49

nkareva
Зарегистрирован: 2019-09-13
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с прочтением файлов и сохранением их содержимого в переменных

Да метод seek
Вот так работает:
myfile_in = open(“reading_in.txt”, “r”)
str1 = myfile_in.read()
print(str1)
myfile_in.seek(0)
list1 = myfile_in.read().split()
print(list1)
myfile_in.close()

Спасибо еще раз!!

Офлайн

#7 Сен. 16, 2019 15:29:49

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

Проблема с прочтением файлов и сохранением их содержимого в переменных

 myfile_in = open('reading_in.txt', 'r')
str1 = myfile_in.read()
print(str1)
myfile_in.seek(0)
list1 = myfile_in.read().split()
print(list1)
myfile_in.close()
зачем два раза читать файл?
 myfile_in = open('reading_in.txt', 'r)
str1 = myfile_in.read()
myfile_in.close()
print(str1)
list1 = str1.split()
print(list1)

Отредактировано marvellik (Сен. 16, 2019 15:30:26)

Офлайн

#8 Сен. 17, 2019 01:53:10

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9715
Репутация: +  842  -
Профиль   Отправить e-mail  

Проблема с прочтением файлов и сохранением их содержимого в переменных

nkareva
Почему-то нигде в учебниках не встречала этого момента!
Да у тебя много ошибок. Непонятно, какие учебники ты читала вообще. Читай Dive Into Python 3. Книжка бесплатная; есть русский перевод, хотя и в оригинале легко воспринимается.
Здесь онлайн-копия
https://diveinto.org/python3/table-of-contents.html



Отредактировано py.user.next (Сен. 17, 2019 01:53:46)

Офлайн

#9 Сен. 17, 2019 11:12:49

nkareva
Зарегистрирован: 2019-09-13
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с прочтением файлов и сохранением их содержимого в переменных

py.user.next
Да у тебя много ошибок. Непонятно, какие учебники ты читала вообще. Читай Dive Into Python 3. Книжка бесплатная; есть русский перевод, хотя и в оригинале легко воспринимается.
Здесь онлайн-копия
Ошибки неизбежны. На ошибках учатся. Если нетрудно, напиши, какие ошибки, хотя бы парочку самых критичных.
Читаю, все что нахожу в Интернете, начинала с книги Mark Lutz Learning Python и A Byte of Python.
Спасибо за ссылку, буду читать.

Офлайн

#10 Сен. 17, 2019 11:14:50

nkareva
Зарегистрирован: 2019-09-13
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с прочтением файлов и сохранением их содержимого в переменных

marvellik
зачем два раза читать файл?
В общем, конечно не за чем, можно преобразовать.
Просто стало интересно, что будет если сделать так, а потом возник вопрос, почему так. Ответ получен))
Спасибо.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version