Step 5 (S-100228)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/24465/step/5

Step 5 (S-100228) 1.png

[00:00 - 00:19] однако работа с файловой системы не заканчивается 1 лишь работать с файлами в данном шаге мы с вами узнаем есть средства языка python могут нам помочь для того чтобы работать с файловой системой вместо главными героями данного шага будет являться библиотеке оси о спас а не связан с операционной системой вашего компьютера и с путями операционной системе вашего компьютера


[00:19 - 00:34] мы сможем узнать является ли путь в указанной директории или папкой существуют ли он вообще а так же как обходить папки рекурсивно начнем с самого простого с помощью функции ли здесь эти у вас мы можем перечислить файлы и папки которые сердце какой нибудь папке


[00:34 - 00:50] если мы запускаем данную функцию без аргументов прежде всего перечисляем файл внутри текущей директории с этого места все текстовый файл с которыми я работал до этого в течение урока я поместил в папку тасс а также стоит заметить что в нашем проекте существует папка о еде


Step 5 (S-100228) 2.png

[00:50 - 01:07] который создает причалом и клавиатура служебную информацию о проекте это чтобы увидеть все файлы в проекте включая служебные можем здесь слева сверху нажать на project file свои штаны из директории о еде носить папка test и поэтому данный вывод для нас не является никаким сюрпризом


[01:07 - 01:27] какие мы запускаем функционализма без аргументов мы можем перечислить все что содержится в текущей папке для того чтобы знать какая папка является текущим можно например использовать функцию детка в из также билетики post конечно же внутри функции можем передать аргумент который является относительным путем на какой нибудь директории


Step 5 (S-100228) 3.png

[01:27 - 01:43] можно причислить содержимое папки о еде добиться того что он содержит 4 файла для того чтобы знать существует ли файл можно воспользоваться функцией exist из библиотеки о спас то есть мы знаешь осуществлять file files точка pi а так у нас не существует файла


Step 5 (S-100228) 4.png

[01:43 - 01:59] random точка by когда мы запустим данный код мы убедимся что 1 существует отправь файл нет функция есть работать не только для файлов можем указать место нашего фраза random pi расценивается в том что наша пакость не существует


[01:59 - 02:15] мы также можем легко проверить какой путь является папкой какой путь является файлом используя функцию из файла издержек они находятся также 2 влетел спам и когда мы запустим данной квартире гимсе в том что расстояние является файлом


[02:15 - 02:32] с не является файлом слышать фразы типа не является директорий от с является директории также можем легко узнать абсолютный путь по относительному используя функцию ups прав и передав ее относительной тут нашел файл с pi нам запустим данный код интересно увидим абсолютные пути нашел файла


Step 5 (S-100228) 5.png

Step 5 (S-100228) 6.png

[02:32 - 02:49] также можем легко сменить текущую кто использую функцию завтра потому что мы хотим перейти в папку идея затем вывести на экран текущая директория запустить данный год напиши где уровнем ниже


Step 5 (S-100228) 7.png

Step 5 (S-100228) 8.png

Step 5 (S-100228) 9.png

Step 5 (S-100228) 10.png

[02:49 - 03:08] однако на мой взгляд 1 из самых крутых функции библиотеки лос является функционала слог оно позволяет рекурсивно пройтись по всем папкам подпапкам и так далее функция особенно сам или возвращать нам генератор и каждый раз потому и спрашиваю следующее значение этого генератора он будет возвращать нам кортеж из тех элементов


[03:08 - 03:26] 1 элементов является строковое представление текущей директории петровна смахивает 2 элементом является список всех подпапок которой есть зал нельзя истории ответим элементами или это список всех файлов которые есть в данной директории тогда когда мы запустим данный код то есть мы будем перебирать текущую директорию под папки и файлы


[03:26 - 03:41] мы запустим высок с 1 аргументом это откуда мне нужно на сейчас точка означает текущую директорию когда мы запустим данный код убедиться что сначала перебирает текущей директории в которой есть 2 подпапки и большой душой список файлов нашел исходников


Step 5 (S-100228) 11.png

Step 5 (S-100228) 12.png

[03:41 - 03:57] 1 подпапку то есть вот такая идея о перечислить текущую папку заметки и выйдет список файлов которые есть в данной директории так как в папке где нет никаких папок тот затем он идет в папку тест


[03:57 - 04:14] значение текущей директории сделать простой список подпапок затем список файлов которые ездят закончить свою такую долгую прогулку по нашей территории давайте также знак можем копировать файлы для этого нам понадобится библиотека с аш кутил


[04:14 - 04:30] сначала конечно за импортированный в библиотеку зачем же функцию копии из нее 2 аргумента откуда и куда копировать когда мы запустим данную функцию убедимся в том что мы создали файл то с 2 отношений китаец не содержат


Step 5 (S-100228) 13.png

[04:30 - 04:45] копию того что мы и пытались копировать более того мы действительно увидим этот файл когда будем обходить его с помощью нашей функции о слог также внутри этой библиотеке есть функция которая позволяет копировать целиком папку называется копий


Step 5 (S-100228) 14.png

[04:45 - 05:00] мы можем скопировать в папку тэс внутрь себя же целиком со всеми файлами внутри папки то схватку то есть допустим данную функцию не создастся папка и в нашем обходит с помощью функции с волк


Step 5 (S-100228) 15.png

[05:00 - 05:16] наш путь увеличится на 1 потому что внутри папки оказалось папка тс он также зайдем внутрь нее явственный лишь небольшое число функций в данном библиотек потому что считаю что знание каждой функции все таки излишне однако важно знать где искать в случае чего


[05:16 - 05:26] если у вас возникает вопрос на файловой системы для кого то конкретного файла то наверняка сможете найти ответ или решение библиотеках о спас или и саша путилов