Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 9, 2008 08:25:45

Landing
От:
Зарегистрирован: 2008-07-01
Сообщения: 62
Репутация: +  0  -
Профиль   Отправить e-mail  

Получение списка файлов в подпапках

Есть дерево вида: папка -> папка1, папка2, … папкаN в каждой из этих папок лежат файлы. Как получить список всех файлов?



Офлайн

#2 Дек. 9, 2008 08:32:02

hellslade
От:
Зарегистрирован: 2008-01-28
Сообщения: 240
Репутация: +  0  -
Профиль   Отправить e-mail  

Получение списка файлов в подпапках

os.walk() ?



Офлайн

#3 Дек. 9, 2008 09:04:49

Landing
От:
Зарегистрирован: 2008-07-01
Сообщения: 62
Репутация: +  0  -
Профиль   Отправить e-mail  

Получение списка файлов в подпапках

Да, но как сформировать из этих списков, один с названиями файлов?



Офлайн

#4 Дек. 9, 2008 09:13:35

balu
От:
Зарегистрирован: 2006-05-24
Сообщения: 521
Репутация: +  0  -
Профиль   Отправить e-mail  

Получение списка файлов в подпапках

Делал когда-то нечто похожее. Может поможет:

def treecopy(src='', dst='', mask='*.*'):
names = os.listdir(src)
if os.path.exists(dst) != True:
os.mkdir(dst)
print 'Create dir', dst
for name in names:
srcname = os.path.join(src, name)
dstname = os.path.join(dst, name)
try:
if os.path.isdir(srcname):
treecopy(srcname, dst, mask)
else:
if fnmatch.fnmatch(`name`, `mask`):
if os.path.exists(dstname) == True:
print 'File exists', dstname
continue
shutil.copy2(srcname, dstname)
except (IOError, os.error), why:
print "Can't copy %s to %s: %s" % (`srcname`, `dstname`, str(why))



Офлайн

#5 Дек. 9, 2008 09:34:58

hellslade
От:
Зарегистрирован: 2008-01-28
Сообщения: 240
Репутация: +  0  -
Профиль   Отправить e-mail  

Получение списка файлов в подпапках

Landing
например так
for dir in os.walk('path'):
for file_name in dir:
print file_name



Офлайн

#6 Дек. 9, 2008 09:38:17

hellslade
От:
Зарегистрирован: 2008-01-28
Сообщения: 240
Репутация: +  0  -
Профиль   Отправить e-mail  

Получение списка файлов в подпапках

balu
а вроде у shutil есть метод для копирования дерева каталогов? ;-)



Офлайн

#7 Дек. 9, 2008 09:49:01

balu
От:
Зарегистрирован: 2006-05-24
Сообщения: 521
Репутация: +  0  -
Профиль   Отправить e-mail  

Получение списка файлов в подпапках

hellslade
balu
а вроде у shutil есть метод для копирования дерева каталогов? ;-)
У меня он отличается - там повторяется структура каталогов, а у меня из всех каталогов в один каталог. Я его сюда пихнул как пример механизма прохода всех каталогов.



Офлайн

#8 Дек. 9, 2008 09:53:12

hellslade
От:
Зарегистрирован: 2008-01-28
Сообщения: 240
Репутация: +  0  -
Профиль   Отправить e-mail  

Получение списка файлов в подпапках

balu
О, сори. Не разбирался в коде, просто увидел обход и копирование :)



Офлайн

#9 Дек. 9, 2008 10:44:56

Landing
От:
Зарегистрирован: 2008-07-01
Сообщения: 62
Репутация: +  0  -
Профиль   Отправить e-mail  

Получение списка файлов в подпапках

спасибо hellslade!



Офлайн

#10 Дек. 9, 2008 11:14:19

Landing
От:
Зарегистрирован: 2008-07-01
Сообщения: 62
Репутация: +  0  -
Профиль   Отправить e-mail  

Получение списка файлов в подпапках

Теперь не могу сопоставить путь и файл. Чтобы файл выводился с полным путем…



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version