|
@@ -0,0 +1,390 @@
|
|
|
+{
|
|
|
+ "cells": [
|
|
|
+ {
|
|
|
+ "cell_type": "markdown",
|
|
|
+ "metadata": {
|
|
|
+ "id": "s_KlstLQYjjc"
|
|
|
+ },
|
|
|
+ "source": [
|
|
|
+ "# Работа с файлами"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "markdown",
|
|
|
+ "metadata": {
|
|
|
+ "id": "-BVP613H9aNq"
|
|
|
+ },
|
|
|
+ "source": [
|
|
|
+ "Создадим первый файл с помощью команды open.\n",
|
|
|
+ "\n",
|
|
|
+ "Функция open() принимает два обязательных аргумента:\n",
|
|
|
+ "\n",
|
|
|
+ "file: Этот аргумент указывает на имя файла, который вы хотите открыть. Обычно является строкой, но могут быть и другие варианты, мы их сейчас не рассматриваем.\n",
|
|
|
+ "\n",
|
|
|
+ "mode: Этот аргумент указывает режим, в котором вы хотите открыть файл. Может быть одним из следующих режимов:\n",
|
|
|
+ "\n",
|
|
|
+ "- 'r' (по умолчанию): Открывает файл в режиме чтения. Если файл не существует, возникнет исключение FileNotFoundError.\n",
|
|
|
+ "- 'w': Открывает файл в режиме записи. Если файл уже существует, он будет перезаписан.\n",
|
|
|
+ "- 'a': Открывает файл в режиме добавления. Если файл уже существует, все записи будут добавлены в конец файла. Если файл не существует, он будет создан.\n",
|
|
|
+ "- 'x': Открывает файл в режиме создания. Если файл уже существует, возникнет исключение FileExistsError. Этот режим полезен для того, чтобы убедиться, что файл не существует до того, как вы начнете записывать в него.\n"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "code",
|
|
|
+ "execution_count": null,
|
|
|
+ "metadata": {
|
|
|
+ "id": "azLY9st5XHUp"
|
|
|
+ },
|
|
|
+ "outputs": [],
|
|
|
+ "source": [
|
|
|
+ "# Открываем файл в режиме записи ('w' означает write)\n",
|
|
|
+ "f = open('test.txt', 'w')\n",
|
|
|
+ "# Записываем строку в файл\n",
|
|
|
+ "f.write('Hello, World!')\n",
|
|
|
+ "# Закрываем файл\n",
|
|
|
+ "f.close()\n"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "markdown",
|
|
|
+ "metadata": {
|
|
|
+ "id": "akKT5NOxXica"
|
|
|
+ },
|
|
|
+ "source": [
|
|
|
+ "Давайте запишем несколько строк в файл. В режиме w старое содержимое файла файла стирается, поэтому будьте внимательны, когда работаете в нем с файлами."
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "code",
|
|
|
+ "execution_count": null,
|
|
|
+ "metadata": {
|
|
|
+ "id": "IGH1xxvnYc-e"
|
|
|
+ },
|
|
|
+ "outputs": [],
|
|
|
+ "source": [
|
|
|
+ "f = open('first.txt', 'w')\n",
|
|
|
+ "f.write('Запись многострочного файла \\n')\n",
|
|
|
+ "f.write('Еще информация')\n",
|
|
|
+ "f.close()"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "code",
|
|
|
+ "execution_count": 5,
|
|
|
+ "metadata": {
|
|
|
+ "id": "ZEdZe1OPasxh"
|
|
|
+ },
|
|
|
+ "outputs": [],
|
|
|
+ "source": [
|
|
|
+ "f = open('third.txt', 'w')\n",
|
|
|
+ "for i in range(1040, 1200):\n",
|
|
|
+ " f.write(chr(i))\n",
|
|
|
+ " f.write('\\n')\n",
|
|
|
+ "f.close()"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "code",
|
|
|
+ "execution_count": 9,
|
|
|
+ "metadata": {},
|
|
|
+ "outputs": [],
|
|
|
+ "source": [
|
|
|
+ "f = open('third.txt', 'w', encoding=\"utf-8\")\n",
|
|
|
+ "for i in range(1040, 1200):\n",
|
|
|
+ " f.write(chr(i))\n",
|
|
|
+ " f.write('\\n')\n",
|
|
|
+ "f.close()"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "code",
|
|
|
+ "execution_count": 6,
|
|
|
+ "metadata": {},
|
|
|
+ "outputs": [],
|
|
|
+ "source": [
|
|
|
+ "f = open('third.txt', 'w')\n",
|
|
|
+ "for i in range(104, 120):\n",
|
|
|
+ " f.write(chr(i))\n",
|
|
|
+ " f.write('\\n')\n",
|
|
|
+ "f.close()"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "code",
|
|
|
+ "execution_count": 2,
|
|
|
+ "metadata": {
|
|
|
+ "colab": {
|
|
|
+ "base_uri": "https://localhost:8080/"
|
|
|
+ },
|
|
|
+ "id": "URBHuuq8bqw6",
|
|
|
+ "outputId": "59585820-eac4-405d-f7e0-e7c4dc7f2422"
|
|
|
+ },
|
|
|
+ "outputs": [
|
|
|
+ {
|
|
|
+ "data": {
|
|
|
+ "text/plain": [
|
|
|
+ "1103"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ "execution_count": 2,
|
|
|
+ "metadata": {},
|
|
|
+ "output_type": "execute_result"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "source": [
|
|
|
+ "ord('я')"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "markdown",
|
|
|
+ "metadata": {
|
|
|
+ "id": "8y6_U0Kab56I"
|
|
|
+ },
|
|
|
+ "source": [
|
|
|
+ "Чтение текста из файла"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "code",
|
|
|
+ "execution_count": null,
|
|
|
+ "metadata": {
|
|
|
+ "colab": {
|
|
|
+ "base_uri": "https://localhost:8080/"
|
|
|
+ },
|
|
|
+ "id": "oV8tOiJWel9e",
|
|
|
+ "outputId": "0096bf80-c3df-416e-f906-9372c2da86b8"
|
|
|
+ },
|
|
|
+ "outputs": [
|
|
|
+ {
|
|
|
+ "name": "stdout",
|
|
|
+ "output_type": "stream",
|
|
|
+ "text": [
|
|
|
+ "Hello, World!\n"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "source": [
|
|
|
+ "# Открываем файл в режиме чтения\n",
|
|
|
+ "f = open('test.txt', 'r')\n",
|
|
|
+ "# Читаем содержимое файла в переменную\n",
|
|
|
+ "contents = f.read()\n",
|
|
|
+ "# Закрываем файл\n",
|
|
|
+ "f.close()\n",
|
|
|
+ "# Выводим содержимое файла\n",
|
|
|
+ "print(contents)"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "code",
|
|
|
+ "execution_count": null,
|
|
|
+ "metadata": {
|
|
|
+ "colab": {
|
|
|
+ "base_uri": "https://localhost:8080/"
|
|
|
+ },
|
|
|
+ "id": "Db9Kl7t9fTQe",
|
|
|
+ "outputId": "55ed511b-e0ba-498b-ed28-ec5174405f20"
|
|
|
+ },
|
|
|
+ "outputs": [],
|
|
|
+ "source": [
|
|
|
+ "# Открываем файл в режиме чтения\n",
|
|
|
+ "f = open('first.txt', 'r')\n",
|
|
|
+ "# Проходимся по строкам файла\n",
|
|
|
+ "for line in f:\n",
|
|
|
+ " # Выводим строку\n",
|
|
|
+ " print(line)\n",
|
|
|
+ "# Закрываем файл\n",
|
|
|
+ "f.close()\n"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "code",
|
|
|
+ "execution_count": null,
|
|
|
+ "metadata": {
|
|
|
+ "colab": {
|
|
|
+ "base_uri": "https://localhost:8080/"
|
|
|
+ },
|
|
|
+ "id": "7c8XWPNNcD2K",
|
|
|
+ "outputId": "d66ac0c8-ec1c-49ca-ba43-a2fe989abfba"
|
|
|
+ },
|
|
|
+ "outputs": [],
|
|
|
+ "source": [
|
|
|
+ "file1 = open('first.txt')\n",
|
|
|
+ "print(file1.read(5))\n",
|
|
|
+ "file1.close()"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "code",
|
|
|
+ "execution_count": null,
|
|
|
+ "metadata": {
|
|
|
+ "colab": {
|
|
|
+ "base_uri": "https://localhost:8080/"
|
|
|
+ },
|
|
|
+ "id": "h__8gRyJclIc",
|
|
|
+ "outputId": "01796adb-5f19-4aeb-cfb3-624cb7acc248"
|
|
|
+ },
|
|
|
+ "outputs": [],
|
|
|
+ "source": [
|
|
|
+ "file1 = open('first.txt')\n",
|
|
|
+ "print(file1.readline())\n",
|
|
|
+ "file1.close()"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "code",
|
|
|
+ "execution_count": null,
|
|
|
+ "metadata": {
|
|
|
+ "colab": {
|
|
|
+ "base_uri": "https://localhost:8080/"
|
|
|
+ },
|
|
|
+ "id": "IC9no6cicxho",
|
|
|
+ "outputId": "ed5170fc-708f-40e6-f9e8-866c42b83bbe"
|
|
|
+ },
|
|
|
+ "outputs": [],
|
|
|
+ "source": [
|
|
|
+ "with open('third.txt') as f:\n",
|
|
|
+ " p = f.read()\n",
|
|
|
+ "print(p)"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "markdown",
|
|
|
+ "metadata": {
|
|
|
+ "id": "eJIuZ5OflJev"
|
|
|
+ },
|
|
|
+ "source": [
|
|
|
+ "### Задание\n",
|
|
|
+ "Напишите код, который читает текст из одного файла, делит его на три части и сохраняет в разных файлах. Пусть разделителем, по которому мы будем считать две пустые строки (два переноса \\n\\n).\n",
|
|
|
+ "\n",
|
|
|
+ "[Файл](https://drive.google.com/file/d/1oMDZku6qWuLdqu7Az5LQGn0JDWuQvzQW/view?usp=share_link)"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "code",
|
|
|
+ "execution_count": 7,
|
|
|
+ "metadata": {
|
|
|
+ "id": "lhPoz1LOlG9L"
|
|
|
+ },
|
|
|
+ "outputs": [
|
|
|
+ {
|
|
|
+ "name": "stdout",
|
|
|
+ "output_type": "stream",
|
|
|
+ "text": [
|
|
|
+ "['Солнечный день был самым теплым за все лето. Люди наполняли парки и пляжи, наслаждаясь солнцем и водой. На берегу моря дети строили замки из песка, а возле реки парусинки плыли по течению.', 'В центре города на главной площади разворачивался ярмарка. Там продавались свежие фрукты и овощи, ароматные сыры и выпечка. Музыканты играли на улице, а на сцене выступали танцоры.', 'Вечером на небе зажглись звезды, а над городом развернулся фейерверк. Люди собрались на балконах и на улицах, чтобы увидеть шоу света и цвета. Этот день был незабываемым и радостным для всех']\n"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "source": [
|
|
|
+ "with open('input.txt', encoding=\"utf-8\") as f:\n",
|
|
|
+ " text = f.read()\n",
|
|
|
+ "# разбиваем текст в список\n",
|
|
|
+ "text_list = text.split(\"\\n\\n\")\n",
|
|
|
+ "print(text_list)\n",
|
|
|
+ "\n",
|
|
|
+ "# записываем первый файл\n",
|
|
|
+ "f = open('output_1.txt', 'w')\n",
|
|
|
+ "f.write(text_list[0])\n",
|
|
|
+ "\n",
|
|
|
+ "# второй\n",
|
|
|
+ "f = open('output_2.txt', 'w')\n",
|
|
|
+ "f.write(text_list[1])\n",
|
|
|
+ "\n",
|
|
|
+ "# третий\n",
|
|
|
+ "f = open('output_3.txt', 'w')\n",
|
|
|
+ "f.write(text_list[2])\n",
|
|
|
+ "# fcl"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "markdown",
|
|
|
+ "metadata": {
|
|
|
+ "id": "Ds7BSORwlc6U"
|
|
|
+ },
|
|
|
+ "source": [
|
|
|
+ "Можно создавать не только txt-файлы, но и другие, например py-файлы, а затем использовать их как модули."
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "code",
|
|
|
+ "execution_count": 2,
|
|
|
+ "metadata": {
|
|
|
+ "id": "G2nOg8hlfE3R"
|
|
|
+ },
|
|
|
+ "outputs": [],
|
|
|
+ "source": [
|
|
|
+ "with open('py.py', 'w') as text:\n",
|
|
|
+ " text.write('x = \"Привет, мир!\"')\n"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "code",
|
|
|
+ "execution_count": 4,
|
|
|
+ "metadata": {
|
|
|
+ "colab": {
|
|
|
+ "base_uri": "https://localhost:8080/"
|
|
|
+ },
|
|
|
+ "id": "wZzDIhFwfU_y",
|
|
|
+ "outputId": "a1980bd1-2067-496d-bfb6-b0e9326bcc3f"
|
|
|
+ },
|
|
|
+ "outputs": [],
|
|
|
+ "source": [
|
|
|
+ "import py\n",
|
|
|
+ "print(py.x)"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "code",
|
|
|
+ "execution_count": null,
|
|
|
+ "metadata": {
|
|
|
+ "colab": {
|
|
|
+ "base_uri": "https://localhost:8080/"
|
|
|
+ },
|
|
|
+ "id": "HHEV8LKsfmnR",
|
|
|
+ "outputId": "23363a87-d171-43db-915d-3298519d2f83"
|
|
|
+ },
|
|
|
+ "outputs": [],
|
|
|
+ "source": [
|
|
|
+ "%%writefile new.txt\n",
|
|
|
+ "Здравствуйте!"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "code",
|
|
|
+ "execution_count": null,
|
|
|
+ "metadata": {
|
|
|
+ "id": "PiNZRnIXreDe"
|
|
|
+ },
|
|
|
+ "outputs": [],
|
|
|
+ "source": []
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "metadata": {
|
|
|
+ "colab": {
|
|
|
+ "provenance": []
|
|
|
+ },
|
|
|
+ "kernelspec": {
|
|
|
+ "display_name": "Python 3.9.6 64-bit",
|
|
|
+ "language": "python",
|
|
|
+ "name": "python3"
|
|
|
+ },
|
|
|
+ "language_info": {
|
|
|
+ "codemirror_mode": {
|
|
|
+ "name": "ipython",
|
|
|
+ "version": 3
|
|
|
+ },
|
|
|
+ "file_extension": ".py",
|
|
|
+ "mimetype": "text/x-python",
|
|
|
+ "name": "python",
|
|
|
+ "nbconvert_exporter": "python",
|
|
|
+ "pygments_lexer": "ipython3",
|
|
|
+ "version": "3.9.6"
|
|
|
+ },
|
|
|
+ "vscode": {
|
|
|
+ "interpreter": {
|
|
|
+ "hash": "81794d4967e6c3204c66dcd87b604927b115b27c00565d3d43f05ba2f3a2cb0d"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "nbformat": 4,
|
|
|
+ "nbformat_minor": 0
|
|
|
+}
|