Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 9, 2018 20:40:03

Areostar
Зарегистрирован: 2018-06-27
Сообщения: 164
Репутация: +  0  -
Профиль   Отправить e-mail  

Обоити вложеные папки

  files = os.listdir(url_to_directory)
        dataset = []
        for file in files:
            my_file = open(url_to_directory+"/"+file)
            for line in my_file.readlines():
                dataset.append(json.loads(line))

так я могу получить все файлы в папке и считать их содержимое.

Но что если в папке существуют другие папки?

данный код натыкаясь на деректорию начинает жаловаться на отсутствие прав доступа.

Как чне обойти все вложеные папки(может быть несколько уровней) и считать файлы от туда??

Офлайн

#2 Окт. 10, 2018 00:36:44

romankrv
От:
Зарегистрирован: 2008-05-23
Сообщения: 513
Репутация: +  0  -
Профиль   Отправить e-mail  

Обоити вложеные папки

Может вам сначала изучить алгоритмы по графам на примере как это:
http://py-algorithm.blogspot.com/2011/07/blog-post_30.html
чтобы с душой и пониманием подойти к решению задачи по обходу директорий.

Офлайн

#3 Окт. 10, 2018 01:12:07

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

Обоити вложеные папки

Areostar
Но что если в папке существуют другие папки?
Используй os.walk().
https://docs.python.org/3/library/os.html#os.walk



Отредактировано py.user.next (Окт. 10, 2018 01:13:14)

Офлайн

#4 Окт. 10, 2018 06:58:44

Rafik
Зарегистрирован: 2018-09-04
Сообщения: 231
Репутация: +  27  -
Профиль   Отправить e-mail  

Обоити вложеные папки

Areostar
…натыкаясь на деректорию начинает жаловаться на отсутствие прав доступа
Скрипт запускается от имени имеющего право доступа на “проблемную” папку?

Офлайн

#5 Окт. 10, 2018 10:49:05

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2849
Репутация: +  186  -
Профиль   Отправить e-mail  

Обоити вложеные папки

> Используй os.walk().

Используй рекурсию.
http://python.su/forum/topic/5393/?page=1#post-34988



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version