Найти - Пользователи
Полная версия: Помогите пожалуйста
Начало » Python для новичков » Помогите пожалуйста
1 2
s0rg
files = filter(lambda a:not os.path.isdir(a), os.listdir(dir))
murdoc
не работает, все равно после фильтрации в списке есть имена папок :(

Any idea?
pyuser
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
Вот что выдает мне:

Traceback (most recent call last):
File “file.py”, line 4, in <module>
from itertools import filterfalse
ImportError: cannot import name filterfalse
pyuser
ну замените строку
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
Во спасибо, все заработало :)
py.user.next
>>> 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
Скажите еще такою штуку, можно ли сделать так чтоб вывод данных из списка шол по убыванию значений? а не в рендомном порядке
s0rg
http://wiki.python.org/moin/HowTo/Sorting
murdoc
такс, столкнулся со следующей задачей, есть сайт с кучей ссылок, мне нужно считать эти все ссылки в список, в дальнейшем планирую делать скачивание файла по одной из этих ссылок :)
как это можно организовать?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB