Найти - Пользователи
Полная версия: Получить список файлов в директории.
Начало » Python для новичков » Получить список файлов в директории.
1 2
UsCr
Здравствуйте. Хочу получить список файлов в директории.
Например:
/
foo/
bar.zib
egg.bz
То относительно директории / мне нужен список из двух элементов: .
Пробую делать так:
filelist = [os.path.abspath(i) for i in os.listdir(options.path) if os.path.isfile(i)]
Но получаю пустой список. Как достичь нужного результата?

P.S.
Доку читал.
Тут пишут что Return True if path is an existing regular file.
Ведь regular file это и есть то, что мне нужно, да?

Python 2.7
Fedora 13
Андрей Светлов
проверьте еще раз. Именно так и нужно делать.
Александр Кошелев
UsCr
listdir возвращает имена файлов. если ваша cwd не совпадает с /, то isfile просто не может их найти.
Андрей Светлов
Александр, спасибо. О таком не подумал.
pyuser
Daevaorn
listdir возвращает имена файлов. если ваша cwd не совпадает с /, то isfile просто не может их найти
вобще-то, возвращается список всего что находится по указанному пути.

попробуйте так:
filelist = [os.path.abspath(i) for i in os.listdir(options.path) if os.path.isfile(os.path.join(options.path, i))]
Eliont
os.walk - рекурсивный обход директорий.
Правда не знаю, работает ли эта функция под линуксом.
Александр Кошелев
pyuser
вобще-то, возвращается список всего что находится по указанному пути.
В том контексте это было не принципиально. Суть в другом.
Carzil
Eliont
Правда не знаю, работает ли эта функция под линуксом.
Работает….
UsCr
Daevaorn
listdir возвращает имена файлов. если ваша cwd не совпадает с /, то isfile просто не может их найти.
Да. Я понял. Нужно просто дописывать префикс пути:
filelist = [options.path + i for i in os.listdir(options.path) if os.path.isfile(options.path + i)]
grok
Аналогичный вопрос обсуждался в этой теме =)
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