s0rg
Дек. 15, 2011 13:38:54
files = filter(lambda a:not os.path.isdir(a), os.listdir(dir))
murdoc
Дек. 15, 2011 15:07:07
не работает, все равно после фильтрации в списке есть имена папок :(
Any idea?
pyuser
Дек. 16, 2011 00:47:52
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)
будет работать.
murdoc
Дек. 16, 2011 08:08:59
Вот что выдает мне:
Traceback (most recent call last):
File “file.py”, line 4, in <module>
from itertools import filterfalse
ImportError: cannot import name filterfalse
pyuser
Дек. 17, 2011 02:28:05
ну замените строку
files = list(filterfalse(os.path.isdir, os.listdir(".")))
на
files = filter(lambda a:not os.path.isdir(a), os.listdir("."))
ЗЫ. а Python какой? у меня 2.7 и 3.2 - все работает
murdoc
Дек. 19, 2011 08:47:40
Во спасибо, все заработало :)
py.user.next
Дек. 20, 2011 06:28:20
>>> 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']
>>>
murdoc
Дек. 20, 2011 13:42:22
Скажите еще такою штуку, можно ли сделать так чтоб вывод данных из списка шол по убыванию значений? а не в рендомном порядке
s0rg
Дек. 20, 2011 15:07:06
murdoc
Дек. 22, 2011 10:35:27
такс, столкнулся со следующей задачей, есть сайт с кучей ссылок, мне нужно считать эти все ссылки в список, в дальнейшем планирую делать скачивание файла по одной из этих ссылок :)
как это можно организовать?