Форум сайта python.su
Здравствуйте. Хочу получить список файлов в директории.
Например:
/
foo/
bar.zib
egg.bz
filelist = [os.path.abspath(i) for i in os.listdir(options.path) if os.path.isfile(i)]
Офлайн
проверьте еще раз. Именно так и нужно делать.
Офлайн
UsCr
listdir возвращает имена файлов. если ваша cwd не совпадает с /, то isfile просто не может их найти.
Офлайн
Александр, спасибо. О таком не подумал.
Офлайн
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))]
Отредактировано (Окт. 28, 2010 06:03:16)
Офлайн
os.walk - рекурсивный обход директорий.
Правда не знаю, работает ли эта функция под линуксом.
Офлайн
pyuserВ том контексте это было не принципиально. Суть в другом.
вобще-то, возвращается список всего что находится по указанному пути.
Офлайн
EliontРаботает….
Правда не знаю, работает ли эта функция под линуксом.
Офлайн
DaevaornДа. Я понял. Нужно просто дописывать префикс пути:
listdir возвращает имена файлов. если ваша cwd не совпадает с /, то isfile просто не может их найти.
filelist = [options.path + i for i in os.listdir(options.path) if os.path.isfile(options.path + i)]
Офлайн
Аналогичный вопрос обсуждался в этой теме =)
Офлайн