{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Файлы" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Открытие файла" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "open(name[, mode[, buffering]])\n", "\n", "Функция возвращает файловый объект. Обязателен только первый аргумент. Если остальные параметры отсутствуют, файл будет доступен на чтение. \n", "\n", "Таблица режимов (mode) функции open:\n", "* 'r' – чтение.\n", "* 'w' – запись.\n", "* 'a' – добавление.\n", "* 'b' – бинарный режим.\n", "* '+' – чтение/запись.\n", "\n", "Режим '+' может быть добавлен к остальным режимам. По умолчанию питон открывает файлы в текстовом режиме. Для открытия файла в бинарном режиме на чтение можно добавить 'rb'. Третий параметр устанавливает размер буферизации при работе с файлом. По умолчанию он выключен, и чтение/запись идет напрямую с диска на диск. Для включения буфера третий параметр должен быть отличным от нуля." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Базовые файловые методы" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "f = open('file.txt', 'w')\n", "f.write('Hello, ')\n", "f.write('World!')\n", "f.close() # !!!" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Hel\n", "lo, World!\n" ] } ], "source": [ "f = open('file.txt', 'r')\n", "print(f.read(3))\n", "print(f.read())\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Произвольный доступ" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "seek(offset [, whence])\n", " \n", " offset – смещение в байтах относительно начала файла\n", " whence – по умолчанию равен нулю, указывает на то, что смещение берется относительно начала файла\n", " \n", "tell() возвращает текущую позицию файла" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "18\n" ] }, { "data": { "text/plain": [ "'01234Hello, World!89'" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f = open(r'my_file_2.txt', 'w')\n", "f.write('01234567890123456789')\n", "f.seek(5)\n", "f.write('Hello, World!')\n", "print(f.tell())\n", "f.close()\n", "f = open(r'my_file_2.txt')\n", "f.read()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Построчная работа с файлами" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "file.readline()\n", " \n", " без параметра читает всю строку\n", " параметра указывает максимальное число символов строки, которое будет прочитано\n", "\n", "file.readlines() \n", " \n", " Прочитать все строки и вернуть список строк\n", "\n", "file.writelines()\n", " \n", " Записать строки в файл\n", "\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "f = open(r'my_file2.txt')\n", "lines = f.readlines()\n", "f.close()\n", "lines[2] = \"This is my_file2 \\n\" # изменяем 1-ю строку\n", "f = open(r'my_file2.txt','w')\n", "f.writelines(lines)\n", "f.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Закрытие файла" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "close()\n", "\n", "Обычно файл закрывается сам по окончании работы программы, но их нужно закрывать вручную по нескольким причинам:\n", "1.\tПитон может буферизировать запись в файл ваших данных, что может привести к неожиданным эффектам и возникновению ошибок.\n", "2.\tУ операционной системы есть ограничение на число одновременно открытых файлов.\n", "3.\tПри доступе к файлу из разных мест одновременно и на чтение, и на запись необходимо синхронизировать файловые операции. Буферизация записи может привести к тому, что запись уже произошла, а данных в файле еще нет.\n", "\n", "Для полной уверенности в закрытии файла можно использовать блок try/finally:\n", "\n", " try:\n", " \n", " Тут идет запись в файл\n", " \n", " finally:\n", "\n", " file.close()\n", "\n", "Можно также использовать менеджер контекста, который в любом случае закроет файл:\n", "\n", " with open(\"my_file\") as somefile:\n", " do_something(somefile)\n", "\n", "Если вы все же не хотите закрывать файл, то синхронизировать многопользовательский доступ к файлу на чтение/запись можно с помощью функции flush(), которая актуализирует все операции записи на диск. При этом возможна блокировка файла на чтение.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Итерация" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "H\n", "e\n", "l\n", "l\n", "o\n", ",\n", " \n", "W\n", "o\n", "r\n", "l\n", "d\n", "!\n", "\n", "\n", "5\n", "6\n", "5\n", " \n", "5\n", "6\n", " \n", "4\n", "5\n", "\n", "\n", "H\n", "e\n", "l\n", "l\n", "o\n", ",\n", " \n", "h\n", "e\n", "l\n", "l\n", "o\n", ",\n", " \n", "h\n", "e\n", "l\n", "l\n", "o\n", ",\n", " \n", "m\n", "y\n", " \n", "W\n", "o\n", "r\n", "l\n", "d\n", "!\n", "\n", "\n", "T\n", "h\n", "e\n", " \n", "w\n", "o\n", "r\n", "l\n", "d\n", " \n", "i\n", "s\n", " \n", "b\n", "e\n", "a\n", "u\n", "t\n", "i\n", "f\n", "u\n", "l\n", ".\n", ".\n", ".\n" ] } ], "source": [ "filename = 'my_file.txt'\n", "f = open(filename)\n", "while True:\n", " c = f.read(1)\n", " if not c: break\n", " print(c)\n", "f.close()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Hello, World!\n", "\n", "565 56 45\n", "\n", "Hello, hello, hello, my World!\n", "\n", "The world is beautiful...\n" ] } ], "source": [ "f = open(filename)\n", "while True:\n", " l = f.readline()\n", " if not l: break\n", " print(l)\n", "f.close() " ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Hello, World!\n", "\n", "565 56 45\n", "\n", "Hello, hello, hello, my World!\n", "\n", "The world is beautiful...\n" ] } ], "source": [ "for line in open(filename):\n", " print(line)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Работа с файловой системой" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "C:\\Users\\student\\Лекция 4. Словари. Файлы\n" ] } ], "source": [ "import os\n", "cwd = os.getcwd()\n", "print(cwd)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "os.path.exists('my_file.txt')" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['11',\n", " '123',\n", " 'Документ Microsoft Word.docx',\n", " 'Новая папка',\n", " 'Текстовый документ.txt']" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#os.listdir(os.getcwd())\n", "os.listdir(\"1\")" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1\\11\\123\\Текстовый документ.txt \n", "\tCreation time = Tue Sep 29 14:04:29 2020\n", "1\\11\\Текстовый документ.txt \n", "\tCreation time = Tue Sep 29 14:04:29 2020\n", "1\\123\\33\\Презентация Microsoft PowerPoint.pptx \n", "\tCreation time = Tue Sep 29 14:04:29 2020\n", "1\\Документ Microsoft Word.docx \n", "\tCreation time = Tue Sep 29 14:04:29 2020\n", "1\\Текстовый документ.txt \n", "\tCreation time = Tue Sep 29 14:04:29 2020\n" ] } ], "source": [ "import os\n", "import time\n", "\n", "\n", "def walk(dir):\n", " for name in os.listdir(dir):\n", " path = os.path.join(dir, name)\n", " if os.path.isfile(path):\n", " print(path, '\\n\\tCreation time =', time.ctime(os.path.getctime(path)))\n", " else:\n", " walk(path)\n", "walk('1\\\\')" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "def del_empty_dirs(path):\n", " for dir_ in os.listdir(path):\n", " d = os.path.join(path, dir_)\n", " if os.path.isdir(d):\n", " del_empty_dirs(d)\n", " if not os.listdir(d):\n", " os.rmdir(d)\n", "del_empty_dirs('1\\\\')" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "dirpath 1\\\n", "dirnames ['11', '123']\n", "filenames ['Документ Microsoft Word.docx', 'Текстовый документ.txt']\n", "2\\\n", "\t Документ Microsoft Word.docx\n", "\t Текстовый документ.txt\n", "dirpath 1\\11\n", "dirnames ['123']\n", "filenames ['Текстовый документ.txt']\n", "2\\11\n", "\t Текстовый документ.txt\n", "dirpath 1\\11\\123\n", "dirnames []\n", "filenames ['Текстовый документ.txt']\n", "2\\11\\123\n", "\t Текстовый документ.txt\n", "dirpath 1\\123\n", "dirnames ['33']\n", "filenames []\n", "2\\123\n", "dirpath 1\\123\\33\n", "dirnames []\n", "filenames ['Презентация Microsoft PowerPoint.pptx']\n", "2\\123\\33\n", "\t Презентация Microsoft PowerPoint.pptx\n" ] } ], "source": [ "input_path = '1\\\\'\n", "output_path = '2\\\\'\n", "\n", "for dirpath, dirnames, filenames in os.walk(input_path):\n", " \n", " print('dirpath', dirpath)\n", " print('dirnames', dirnames)\n", " print('filenames', filenames)\n", " \n", " structure = output_path + dirpath[len(input_path):]\n", " print(structure) \n", " if not os.path.isdir(structure):\n", " os.mkdir(structure)\n", " for file in filenames:\n", " print('\\t',file) " ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "import json\n", "import io" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{0: {'list': [0, 0, 0, 0, 0], 'i': 0, 'str': '0'},\n", " 1: {'list': [1, 1, 1, 1, 1], 'i': 1, 'str': '1'},\n", " 2: {'list': [2, 2, 2, 2, 2], 'i': 2, 'str': '2'},\n", " 3: {'list': [3, 3, 3, 3, 3], 'i': 3, 'str': '3'},\n", " 4: {'list': [4, 4, 4, 4, 4], 'i': 4, 'str': '4'},\n", " 5: {'list': [5, 5, 5, 5, 5], 'i': 5, 'str': '5'},\n", " 6: {'list': [6, 6, 6, 6, 6], 'i': 6, 'str': '6'},\n", " 7: {'list': [7, 7, 7, 7, 7], 'i': 7, 'str': '7'},\n", " 8: {'list': [8, 8, 8, 8, 8], 'i': 8, 'str': '8'},\n", " 9: {'list': [9, 9, 9, 9, 9], 'i': 9, 'str': '9'},\n", " 10: {'list': [10, 10, 10, 10, 10], 'i': 10, 'str': '10'},\n", " 11: {'list': [11, 11, 11, 11, 11], 'i': 11, 'str': '11'},\n", " 12: {'list': [12, 12, 12, 12, 12], 'i': 12, 'str': '12'},\n", " 13: {'list': [13, 13, 13, 13, 13], 'i': 13, 'str': '13'},\n", " 14: {'list': [14, 14, 14, 14, 14], 'i': 14, 'str': '14'},\n", " 15: {'list': [15, 15, 15, 15, 15], 'i': 15, 'str': '15'},\n", " 16: {'list': [16, 16, 16, 16, 16], 'i': 16, 'str': '16'},\n", " 17: {'list': [17, 17, 17, 17, 17], 'i': 17, 'str': '17'},\n", " 18: {'list': [18, 18, 18, 18, 18], 'i': 18, 'str': '18'},\n", " 19: {'list': [19, 19, 19, 19, 19], 'i': 19, 'str': '19'},\n", " 20: {'list': [20, 20, 20, 20, 20], 'i': 20, 'str': '20'},\n", " 21: {'list': [21, 21, 21, 21, 21], 'i': 21, 'str': '21'},\n", " 22: {'list': [22, 22, 22, 22, 22], 'i': 22, 'str': '22'},\n", " 23: {'list': [23, 23, 23, 23, 23], 'i': 23, 'str': '23'},\n", " 24: {'list': [24, 24, 24, 24, 24], 'i': 24, 'str': '24'},\n", " 25: {'list': [25, 25, 25, 25, 25], 'i': 25, 'str': '25'},\n", " 26: {'list': [26, 26, 26, 26, 26], 'i': 26, 'str': '26'},\n", " 27: {'list': [27, 27, 27, 27, 27], 'i': 27, 'str': '27'},\n", " 28: {'list': [28, 28, 28, 28, 28], 'i': 28, 'str': '28'},\n", " 29: {'list': [29, 29, 29, 29, 29], 'i': 29, 'str': '29'},\n", " 30: {'list': [30, 30, 30, 30, 30], 'i': 30, 'str': '30'},\n", " 31: {'list': [31, 31, 31, 31, 31], 'i': 31, 'str': '31'},\n", " 32: {'list': [32, 32, 32, 32, 32], 'i': 32, 'str': '32'},\n", " 33: {'list': [33, 33, 33, 33, 33], 'i': 33, 'str': '33'},\n", " 34: {'list': [34, 34, 34, 34, 34], 'i': 34, 'str': '34'},\n", " 35: {'list': [35, 35, 35, 35, 35], 'i': 35, 'str': '35'},\n", " 36: {'list': [36, 36, 36, 36, 36], 'i': 36, 'str': '36'},\n", " 37: {'list': [37, 37, 37, 37, 37], 'i': 37, 'str': '37'},\n", " 38: {'list': [38, 38, 38, 38, 38], 'i': 38, 'str': '38'},\n", " 39: {'list': [39, 39, 39, 39, 39], 'i': 39, 'str': '39'},\n", " 40: {'list': [40, 40, 40, 40, 40], 'i': 40, 'str': '40'},\n", " 41: {'list': [41, 41, 41, 41, 41], 'i': 41, 'str': '41'},\n", " 42: {'list': [42, 42, 42, 42, 42], 'i': 42, 'str': '42'},\n", " 43: {'list': [43, 43, 43, 43, 43], 'i': 43, 'str': '43'},\n", " 44: {'list': [44, 44, 44, 44, 44], 'i': 44, 'str': '44'},\n", " 45: {'list': [45, 45, 45, 45, 45], 'i': 45, 'str': '45'},\n", " 46: {'list': [46, 46, 46, 46, 46], 'i': 46, 'str': '46'},\n", " 47: {'list': [47, 47, 47, 47, 47], 'i': 47, 'str': '47'},\n", " 48: {'list': [48, 48, 48, 48, 48], 'i': 48, 'str': '48'},\n", " 49: {'list': [49, 49, 49, 49, 49], 'i': 49, 'str': '49'},\n", " 50: {'list': [50, 50, 50, 50, 50], 'i': 50, 'str': '50'},\n", " 51: {'list': [51, 51, 51, 51, 51], 'i': 51, 'str': '51'},\n", " 52: {'list': [52, 52, 52, 52, 52], 'i': 52, 'str': '52'},\n", " 53: {'list': [53, 53, 53, 53, 53], 'i': 53, 'str': '53'},\n", " 54: {'list': [54, 54, 54, 54, 54], 'i': 54, 'str': '54'},\n", " 55: {'list': [55, 55, 55, 55, 55], 'i': 55, 'str': '55'},\n", " 56: {'list': [56, 56, 56, 56, 56], 'i': 56, 'str': '56'},\n", " 57: {'list': [57, 57, 57, 57, 57], 'i': 57, 'str': '57'},\n", " 58: {'list': [58, 58, 58, 58, 58], 'i': 58, 'str': '58'},\n", " 59: {'list': [59, 59, 59, 59, 59], 'i': 59, 'str': '59'},\n", " 60: {'list': [60, 60, 60, 60, 60], 'i': 60, 'str': '60'},\n", " 61: {'list': [61, 61, 61, 61, 61], 'i': 61, 'str': '61'},\n", " 62: {'list': [62, 62, 62, 62, 62], 'i': 62, 'str': '62'},\n", " 63: {'list': [63, 63, 63, 63, 63], 'i': 63, 'str': '63'},\n", " 64: {'list': [64, 64, 64, 64, 64], 'i': 64, 'str': '64'},\n", " 65: {'list': [65, 65, 65, 65, 65], 'i': 65, 'str': '65'},\n", " 66: {'list': [66, 66, 66, 66, 66], 'i': 66, 'str': '66'},\n", " 67: {'list': [67, 67, 67, 67, 67], 'i': 67, 'str': '67'},\n", " 68: {'list': [68, 68, 68, 68, 68], 'i': 68, 'str': '68'},\n", " 69: {'list': [69, 69, 69, 69, 69], 'i': 69, 'str': '69'},\n", " 70: {'list': [70, 70, 70, 70, 70], 'i': 70, 'str': '70'},\n", " 71: {'list': [71, 71, 71, 71, 71], 'i': 71, 'str': '71'},\n", " 72: {'list': [72, 72, 72, 72, 72], 'i': 72, 'str': '72'},\n", " 73: {'list': [73, 73, 73, 73, 73], 'i': 73, 'str': '73'},\n", " 74: {'list': [74, 74, 74, 74, 74], 'i': 74, 'str': '74'},\n", " 75: {'list': [75, 75, 75, 75, 75], 'i': 75, 'str': '75'},\n", " 76: {'list': [76, 76, 76, 76, 76], 'i': 76, 'str': '76'},\n", " 77: {'list': [77, 77, 77, 77, 77], 'i': 77, 'str': '77'},\n", " 78: {'list': [78, 78, 78, 78, 78], 'i': 78, 'str': '78'},\n", " 79: {'list': [79, 79, 79, 79, 79], 'i': 79, 'str': '79'},\n", " 80: {'list': [80, 80, 80, 80, 80], 'i': 80, 'str': '80'},\n", " 81: {'list': [81, 81, 81, 81, 81], 'i': 81, 'str': '81'},\n", " 82: {'list': [82, 82, 82, 82, 82], 'i': 82, 'str': '82'},\n", " 83: {'list': [83, 83, 83, 83, 83], 'i': 83, 'str': '83'},\n", " 84: {'list': [84, 84, 84, 84, 84], 'i': 84, 'str': '84'},\n", " 85: {'list': [85, 85, 85, 85, 85], 'i': 85, 'str': '85'},\n", " 86: {'list': [86, 86, 86, 86, 86], 'i': 86, 'str': '86'},\n", " 87: {'list': [87, 87, 87, 87, 87], 'i': 87, 'str': '87'},\n", " 88: {'list': [88, 88, 88, 88, 88], 'i': 88, 'str': '88'},\n", " 89: {'list': [89, 89, 89, 89, 89], 'i': 89, 'str': '89'},\n", " 90: {'list': [90, 90, 90, 90, 90], 'i': 90, 'str': '90'},\n", " 91: {'list': [91, 91, 91, 91, 91], 'i': 91, 'str': '91'},\n", " 92: {'list': [92, 92, 92, 92, 92], 'i': 92, 'str': '92'},\n", " 93: {'list': [93, 93, 93, 93, 93], 'i': 93, 'str': '93'},\n", " 94: {'list': [94, 94, 94, 94, 94], 'i': 94, 'str': '94'},\n", " 95: {'list': [95, 95, 95, 95, 95], 'i': 95, 'str': '95'},\n", " 96: {'list': [96, 96, 96, 96, 96], 'i': 96, 'str': '96'},\n", " 97: {'list': [97, 97, 97, 97, 97], 'i': 97, 'str': '97'},\n", " 98: {'list': [98, 98, 98, 98, 98], 'i': 98, 'str': '98'},\n", " 99: {'list': [99, 99, 99, 99, 99], 'i': 99, 'str': '99'}}" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "res = dict()\n", "for i in range(100):\n", " res[i]=dict()\n", " res[i]['list'] = [i]*5\n", " res[i]['i']=i\n", " res[i]['str']=str(i)\n", "res " ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [], "source": [ "with io.open('json_file.json', 'w', encoding='utf-8') as f: \n", " json.dump(res, f, ensure_ascii=False, indent=4)" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "with io.open('json_file.json', 'r', encoding='utf-8') as f: \n", " res_from_file = json.load(f)" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'0': {'list': [0, 0, 0, 0, 0], 'i': 0, 'str': '0'},\n", " '1': {'list': [1, 1, 1, 1, 1], 'i': 1, 'str': '1'},\n", " '2': {'list': [2, 2, 2, 2, 2], 'i': 2, 'str': '2'},\n", " '3': {'list': [3, 3, 3, 3, 3], 'i': 3, 'str': '3'},\n", " '4': {'list': [4, 4, 4, 4, 4], 'i': 4, 'str': '4'},\n", " '5': {'list': [5, 5, 5, 5, 5], 'i': 5, 'str': '5'},\n", " '6': {'list': [6, 6, 6, 6, 6], 'i': 6, 'str': '6'},\n", " '7': {'list': [7, 7, 7, 7, 7], 'i': 7, 'str': '7'},\n", " '8': {'list': [8, 8, 8, 8, 8], 'i': 8, 'str': '8'},\n", " '9': {'list': [9, 9, 9, 9, 9], 'i': 9, 'str': '9'},\n", " '10': {'list': [10, 10, 10, 10, 10], 'i': 10, 'str': '10'},\n", " '11': {'list': [11, 11, 11, 11, 11], 'i': 11, 'str': '11'},\n", " '12': {'list': [12, 12, 12, 12, 12], 'i': 12, 'str': '12'},\n", " '13': {'list': [13, 13, 13, 13, 13], 'i': 13, 'str': '13'},\n", " '14': {'list': [14, 14, 14, 14, 14], 'i': 14, 'str': '14'},\n", " '15': {'list': [15, 15, 15, 15, 15], 'i': 15, 'str': '15'},\n", " '16': {'list': [16, 16, 16, 16, 16], 'i': 16, 'str': '16'},\n", " '17': {'list': [17, 17, 17, 17, 17], 'i': 17, 'str': '17'},\n", " '18': {'list': [18, 18, 18, 18, 18], 'i': 18, 'str': '18'},\n", " '19': {'list': [19, 19, 19, 19, 19], 'i': 19, 'str': '19'},\n", " '20': {'list': [20, 20, 20, 20, 20], 'i': 20, 'str': '20'},\n", " '21': {'list': [21, 21, 21, 21, 21], 'i': 21, 'str': '21'},\n", " '22': {'list': [22, 22, 22, 22, 22], 'i': 22, 'str': '22'},\n", " '23': {'list': [23, 23, 23, 23, 23], 'i': 23, 'str': '23'},\n", " '24': {'list': [24, 24, 24, 24, 24], 'i': 24, 'str': '24'},\n", " '25': {'list': [25, 25, 25, 25, 25], 'i': 25, 'str': '25'},\n", " '26': {'list': [26, 26, 26, 26, 26], 'i': 26, 'str': '26'},\n", " '27': {'list': [27, 27, 27, 27, 27], 'i': 27, 'str': '27'},\n", " '28': {'list': [28, 28, 28, 28, 28], 'i': 28, 'str': '28'},\n", " '29': {'list': [29, 29, 29, 29, 29], 'i': 29, 'str': '29'},\n", " '30': {'list': [30, 30, 30, 30, 30], 'i': 30, 'str': '30'},\n", " '31': {'list': [31, 31, 31, 31, 31], 'i': 31, 'str': '31'},\n", " '32': {'list': [32, 32, 32, 32, 32], 'i': 32, 'str': '32'},\n", " '33': {'list': [33, 33, 33, 33, 33], 'i': 33, 'str': '33'},\n", " '34': {'list': [34, 34, 34, 34, 34], 'i': 34, 'str': '34'},\n", " '35': {'list': [35, 35, 35, 35, 35], 'i': 35, 'str': '35'},\n", " '36': {'list': [36, 36, 36, 36, 36], 'i': 36, 'str': '36'},\n", " '37': {'list': [37, 37, 37, 37, 37], 'i': 37, 'str': '37'},\n", " '38': {'list': [38, 38, 38, 38, 38], 'i': 38, 'str': '38'},\n", " '39': {'list': [39, 39, 39, 39, 39], 'i': 39, 'str': '39'},\n", " '40': {'list': [40, 40, 40, 40, 40], 'i': 40, 'str': '40'},\n", " '41': {'list': [41, 41, 41, 41, 41], 'i': 41, 'str': '41'},\n", " '42': {'list': [42, 42, 42, 42, 42], 'i': 42, 'str': '42'},\n", " '43': {'list': [43, 43, 43, 43, 43], 'i': 43, 'str': '43'},\n", " '44': {'list': [44, 44, 44, 44, 44], 'i': 44, 'str': '44'},\n", " '45': {'list': [45, 45, 45, 45, 45], 'i': 45, 'str': '45'},\n", " '46': {'list': [46, 46, 46, 46, 46], 'i': 46, 'str': '46'},\n", " '47': {'list': [47, 47, 47, 47, 47], 'i': 47, 'str': '47'},\n", " '48': {'list': [48, 48, 48, 48, 48], 'i': 48, 'str': '48'},\n", " '49': {'list': [49, 49, 49, 49, 49], 'i': 49, 'str': '49'},\n", " '50': {'list': [50, 50, 50, 50, 50], 'i': 50, 'str': '50'},\n", " '51': {'list': [51, 51, 51, 51, 51], 'i': 51, 'str': '51'},\n", " '52': {'list': [52, 52, 52, 52, 52], 'i': 52, 'str': '52'},\n", " '53': {'list': [53, 53, 53, 53, 53], 'i': 53, 'str': '53'},\n", " '54': {'list': [54, 54, 54, 54, 54], 'i': 54, 'str': '54'},\n", " '55': {'list': [55, 55, 55, 55, 55], 'i': 55, 'str': '55'},\n", " '56': {'list': [56, 56, 56, 56, 56], 'i': 56, 'str': '56'},\n", " '57': {'list': [57, 57, 57, 57, 57], 'i': 57, 'str': '57'},\n", " '58': {'list': [58, 58, 58, 58, 58], 'i': 58, 'str': '58'},\n", " '59': {'list': [59, 59, 59, 59, 59], 'i': 59, 'str': '59'},\n", " '60': {'list': [60, 60, 60, 60, 60], 'i': 60, 'str': '60'},\n", " '61': {'list': [61, 61, 61, 61, 61], 'i': 61, 'str': '61'},\n", " '62': {'list': [62, 62, 62, 62, 62], 'i': 62, 'str': '62'},\n", " '63': {'list': [63, 63, 63, 63, 63], 'i': 63, 'str': '63'},\n", " '64': {'list': [64, 64, 64, 64, 64], 'i': 64, 'str': '64'},\n", " '65': {'list': [65, 65, 65, 65, 65], 'i': 65, 'str': '65'},\n", " '66': {'list': [66, 66, 66, 66, 66], 'i': 66, 'str': '66'},\n", " '67': {'list': [67, 67, 67, 67, 67], 'i': 67, 'str': '67'},\n", " '68': {'list': [68, 68, 68, 68, 68], 'i': 68, 'str': '68'},\n", " '69': {'list': [69, 69, 69, 69, 69], 'i': 69, 'str': '69'},\n", " '70': {'list': [70, 70, 70, 70, 70], 'i': 70, 'str': '70'},\n", " '71': {'list': [71, 71, 71, 71, 71], 'i': 71, 'str': '71'},\n", " '72': {'list': [72, 72, 72, 72, 72], 'i': 72, 'str': '72'},\n", " '73': {'list': [73, 73, 73, 73, 73], 'i': 73, 'str': '73'},\n", " '74': {'list': [74, 74, 74, 74, 74], 'i': 74, 'str': '74'},\n", " '75': {'list': [75, 75, 75, 75, 75], 'i': 75, 'str': '75'},\n", " '76': {'list': [76, 76, 76, 76, 76], 'i': 76, 'str': '76'},\n", " '77': {'list': [77, 77, 77, 77, 77], 'i': 77, 'str': '77'},\n", " '78': {'list': [78, 78, 78, 78, 78], 'i': 78, 'str': '78'},\n", " '79': {'list': [79, 79, 79, 79, 79], 'i': 79, 'str': '79'},\n", " '80': {'list': [80, 80, 80, 80, 80], 'i': 80, 'str': '80'},\n", " '81': {'list': [81, 81, 81, 81, 81], 'i': 81, 'str': '81'},\n", " '82': {'list': [82, 82, 82, 82, 82], 'i': 82, 'str': '82'},\n", " '83': {'list': [83, 83, 83, 83, 83], 'i': 83, 'str': '83'},\n", " '84': {'list': [84, 84, 84, 84, 84], 'i': 84, 'str': '84'},\n", " '85': {'list': [85, 85, 85, 85, 85], 'i': 85, 'str': '85'},\n", " '86': {'list': [86, 86, 86, 86, 86], 'i': 86, 'str': '86'},\n", " '87': {'list': [87, 87, 87, 87, 87], 'i': 87, 'str': '87'},\n", " '88': {'list': [88, 88, 88, 88, 88], 'i': 88, 'str': '88'},\n", " '89': {'list': [89, 89, 89, 89, 89], 'i': 89, 'str': '89'},\n", " '90': {'list': [90, 90, 90, 90, 90], 'i': 90, 'str': '90'},\n", " '91': {'list': [91, 91, 91, 91, 91], 'i': 91, 'str': '91'},\n", " '92': {'list': [92, 92, 92, 92, 92], 'i': 92, 'str': '92'},\n", " '93': {'list': [93, 93, 93, 93, 93], 'i': 93, 'str': '93'},\n", " '94': {'list': [94, 94, 94, 94, 94], 'i': 94, 'str': '94'},\n", " '95': {'list': [95, 95, 95, 95, 95], 'i': 95, 'str': '95'},\n", " '96': {'list': [96, 96, 96, 96, 96], 'i': 96, 'str': '96'},\n", " '97': {'list': [97, 97, 97, 97, 97], 'i': 97, 'str': '97'},\n", " '98': {'list': [98, 98, 98, 98, 98], 'i': 98, 'str': '98'},\n", " '99': {'list': [99, 99, 99, 99, 99], 'i': 99, 'str': '99'}}" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "res_from_file" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.7.5" } }, "nbformat": 4, "nbformat_minor": 2 }