Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 15, 2011 13:38:54

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

Помогите пожалуйста

files = filter(lambda a:not os.path.isdir(a), os.listdir(dir))

Офлайн

#2 Дек. 15, 2011 15:07:07

murdoc
От:
Зарегистрирован: 2011-11-03
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите пожалуйста

не работает, все равно после фильтрации в списке есть имена папок :(

Any idea?



Офлайн

#3 Дек. 16, 2011 00:47:52

pyuser
От:
Зарегистрирован: 2007-05-13
Сообщения: 658
Репутация: +  36  -
Профиль   Отправить e-mail  

Помогите пожалуйста

murdoc
не работает, все равно после фильтрации в списке есть имена папок
Ну это и не удивительно :), вот если после определения переменной dir Вы сделаете:
from itertools import filterfalse
old_cwd = os.getcwd()
os.chdir(dir)
files = list(filterfalse(os.path.isdir, os.listdir(".")))
os.chdir(old_cwd)
будет работать.



Офлайн

#4 Дек. 16, 2011 08:08:59

murdoc
От:
Зарегистрирован: 2011-11-03
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите пожалуйста

Вот что выдает мне:

Traceback (most recent call last):
File “file.py”, line 4, in <module>
from itertools import filterfalse
ImportError: cannot import name filterfalse



Офлайн

#5 Дек. 17, 2011 02:28:05

pyuser
От:
Зарегистрирован: 2007-05-13
Сообщения: 658
Репутация: +  36  -
Профиль   Отправить e-mail  

Помогите пожалуйста

ну замените строку

files = list(filterfalse(os.path.isdir, os.listdir(".")))
на
files = filter(lambda a:not os.path.isdir(a), os.listdir("."))
ЗЫ. а Python какой? у меня 2.7 и 3.2 - все работает



Офлайн

#6 Дек. 19, 2011 08:47:40

murdoc
От:
Зарегистрирован: 2011-11-03
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите пожалуйста

Во спасибо, все заработало :)



Офлайн

#7 Дек. 20, 2011 06:28:20

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

Помогите пожалуйста

>>> import os
>>> dir = '/etc'
>>> files = [p for p in os.listdir(dir)
... if not os.path.isdir(os.path.join(dir, p))]
>>> files[:10]
['logrotate.conf', 'sos.conf', 'hosts.allow', 'jwhois.conf', 'yumex.profiles.conf', 'quotatab', 'fstab', 'mail.rc', 'kde4rc', 'nfsmount.conf']
>>>



Офлайн

#8 Дек. 20, 2011 13:42:22

murdoc
От:
Зарегистрирован: 2011-11-03
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите пожалуйста

Скажите еще такою штуку, можно ли сделать так чтоб вывод данных из списка шол по убыванию значений? а не в рендомном порядке



Офлайн

#9 Дек. 20, 2011 15:07:06

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

Помогите пожалуйста

Офлайн

#10 Дек. 22, 2011 10:35:27

murdoc
От:
Зарегистрирован: 2011-11-03
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите пожалуйста

такс, столкнулся со следующей задачей, есть сайт с кучей ссылок, мне нужно считать эти все ссылки в список, в дальнейшем планирую делать скачивание файла по одной из этих ссылок :)
как это можно организовать?



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version