🐍 Укус питона 🐍
2.89K subscribers
759 photos
4 videos
279 links
🐍 Канал о программировании на языке Python. Тематические уроки и лайфхаки.

👽 Админ - @it_dashka
🔊 Купить рекламу: https://telega.in/c/byteofpython

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
Выберите правильный способ доступа к значению 20 из следующего кортежа.
Anonymous Quiz
10%
aTuple[1:2][1]
4%
aTuple[1:2](1)
3%
aTuple[1:2][1]
82%
aTuple[1][1]
Запись в текстовый файл. Продолжение.

Для записи списка строк имеется метод writelines(). В качестве параметра он принимает список строк:

Стоит учитывать, что, если мы хотим, чтобы каждая строка из списка располагалась на отдельной строке в файле, то строка в списке должна заканчиваться на символ "\n".

Еще один способ записи в файл представляет стандартный метод print(), который применяется для вывода данных на консоль:

Для вывода данных в файл в метод print в качестве второго параметра передается название файла через параметр file. А первый параметр представляет записываемую в файл строку.

🐍 Укус питона // 💬 Чат // #теория #файлы #текст
Каков результат следующей операции над кортежем?
Anonymous Quiz
28%
TypeError
60%
(100, 100)
12%
(200)
Чтение файла.

Для чтения файла он открывается с режимом r (Read), и затем мы можем считать его содержимое различными методами:

• readline(): считывает одну строку из файла
• read(): считывает все содержимое файла в одну строку
• readlines(): считывает все строки файла в список

Например, считаем выше записанный файл построчно:

🐍 Укус питона // 💬 Чат // #теория #файлы #текст
К какому типу данных относятся следующие данные
Anonymous Quiz
18%
list
28%
complex
54%
tuple
Чтение файла. Продолжение.

Несмотря на то, что мы явно не применяем метод readline() для чтения каждой строки, но в при переборе файла этот метод автоматически вызывается для получения каждой новой строки. Поэтому в цикле вручную нет смысла вызывать метод readline. Консольный вывод:

Однако поскольку функция print неявно добавляет к каждой строке перевод строки "\n", а строки в записанном файлетакже разделяются символом перевода строки "\n", то получается, что каждая строка оканчивается двойным "\n". и чтобы исключить излишнего переноса на другую строку в функцию print можно передать значение end="".

🐍 Укус питона // 💬 Чат // #теория #файлы #текст
Каков результат следующего вложенного цикла?
Anonymous Quiz
43%
10 11 12 13
57%
11 13
Чтение файла. Продолжение.

Теперь явным образом вызовем метод readline() для чтения отдельных строк:

Консольный вывод, вторая часть примера:

Метод readline можно использовать для построчного считывания файла в цикле while, конец примера:

🐍 Укус питона // 💬 Чат // #теория #файлы #текст
Чтение файла. Продолжение.

Если файл небольшой, то его можно разом считать с помощью метода read():

И также применим метод readlines() для считывания всего файла в список строк:

При чтении файла мы можем столкнуться с тем, что его кодировка не совпадает с ASCII. В этом случае мы явным образом можем указать кодировку с помощью параметра encoding:

🐍 Укус питона // 💬 Чат // #теория #файлы #текст
Учитывая следующую функцию. fun1() Выберите все правильные вызовы функций.
Anonymous Quiz
71%
1) fun1("Emma", age=23) 2)fun1(age =23, name="Emma")
25%
fun1(name="Emma", 23)
4%
fun1(age =23, "Emma")
Чтение и запись.

Для открытия файла сразу для чтения и записи применяются флаги:

• r+: если файл не найден, то генерируется исключение FileNotFoundError
• w+: если файл не существует, то он автоматически создается. Если файл существует, то он перезаписывается

Например, запишем и считаем из файла данные:

🐍 Укус питона // 💬 Чат // #теория #файлы #текст
Перемещение по файлу

Для перемещения по файлу после его открытия применяется метод seek(). В него передается индекс байта, к которому надо переместить указатель в файле. Например, в примере выше после записи указатель в файле автоматически устанавливается на конец файла. И считывания данных идет с позиции, на которой стоит указатель. И чтобы его сдвинуть в самое начало, применяется вызов:

Аналогичным образом мы можем перемещаться по файлу на нужную позицию. Например, считаем данные, начиная с 5-го символа:

🐍 Укус питона // 💬 Чат // #теория #файлы #текст